python_命令行执行python文件时,遇到的坑

一、命令行执行 Run.py文件

  • 1. 首先要注意:

  • python Run.py 与 python /home/path/Run.py 执行结果是不一样的
    因为在执行的过程中,命令行默认只是搜索当前执行路径,所以会导致一部分引用的模块找不到
    例:我通过python path/Run.py 的方式执行就出现找不到配置文件的问题:
python_命令行执行python文件时,遇到的坑_第1张图片
Paste_Image.png
  • 2.解决这种问题的方法就是在脚本中所引用文件的绝对路径

  • 绝对路径获取方法:
    import os, sys
    def ABSpath():
    """获取当前的绝对路径"""
    ABSPATH = os.path.abspath(sys.argv[0])
    ABSPATH = os.path.dirname(ABSPATH)
    return ABSPATH
  • 然后在需要读取的配置文件之前加上绝对路径外壳:
    即:path = 项目绝对路径+相对路径
    path = ABSpath()+"/Src/config.ini"
    """引用路径"""
以后要注意:在读取配置文件的时候尽量要用绝对路径,推荐的路径格式应该是:绝对路径+相对路径的形式,这样在结构变更的时候,不容易出错

二、 模块间引用的时候,一定要注意不能出现来回引用的情况

  • 有的时候会出现模块间方法调用情况,报错:ImportError connot import named XX
  • 问题原因:

模块A引用模块B后,又在模块B中引用模块A

  • 解决方法:

不能出现这种互相引用的情况

@晴 - 2016-09-12 13:57:34

你可能感兴趣的:(python_命令行执行python文件时,遇到的坑)