13
如何在Python中获取当前执行文件的路径?
这似乎是一个新手问题,但事实并非如此。一些通用方法并非在所有情况下都有效: sys.argv [0] 这意味着使用path = os.path.abspath(os.path.dirname(sys.argv[0])),但是如果您是从另一个目录中的另一个Python脚本运行的,则此方法不起作用,并且这可能在现实生活中发生。 __文件__ 这意味着使用path = os.path.abspath(os.path.dirname(__file__)),但是我发现这不起作用: py2exe没有__file__属性,但是有一种解决方法 当您从IDLE运行时,execute()没有__file__属性 我得到的OS X 10.6 NameError: global name '__file__' is not defined 答案不完整的相关问题: Python-查找正在运行的文件的路径 当前文件的路径取决于我如何执行程序 如何知道Python中正在运行的脚本的路径? 将目录更改为Python脚本的目录 我正在寻找一种通用解决方案,该解决方案可以在所有上述用例中使用。 更新资料 这是一个测试用例的结果: python a.py的输出(在Windows上) a.py: __file__= a.py a.py: os.getcwd()= C:\zzz b.py: sys.argv[0]= a.py b.py: __file__= a.py b.py: os.getcwd()= C:\zzz py #! /usr/bin/env …