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

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

  • 1. 首先要注意:

  • python Run.py 与 python /home/path/Run.py 执行结果是不一样的
    因为在执行的过程中,命令行默认只是搜索当前执行路径,所以会导致一部分引用的模块找不到
    例:我通过python path/Run.py 的方式执行就出现找不到配置文件的问题:
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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容