如何在Python中獲得當前執(zhí)行的文件的路徑?這似乎是個新手的問題,但事實并非如此。有些常見的方法并非在所有情況下都有效:sys.argv[0]這意味著使用path = os.path.abspath(os.path.dirname(sys.argv[0])),但如果您從另一個目錄中的另一個Python腳本運行,則此操作不起作用,而且在現(xiàn)實生活中可能會發(fā)生這種情況。_文件這意味著使用path = os.path.abspath(os.path.dirname(__file__))但我發(fā)現(xiàn)這不管用py2exe沒有__file__屬性,但是有一個變通當您從空閑的execute()沒有__file__屬性OSX10.6NameError: global name '__file__' is not defined答案不全的相關問題:Python-查找正在運行的文件路徑當前文件的路徑取決于我如何執(zhí)行程序。如何知道Python中正在運行的腳本的路徑?將目錄更改為Python腳本的目錄我在找一個通用解,在上述所有用例中都能工作。更新下面是一個測試案例的結(jié)果:pythona.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阿比#! /usr/bin/env pythonimport os, sysprint "a.py: sys.argv[0]=", sys.argv[0]print "a.py: __file__=", __file__print "a.py: os.getcwd()=",
os.getcwd()printexecfile("subdir/b.py")subdir/b.py#! /usr/bin/env pythonimport os, sysprint "b.py: sys.argv[0]=", sys.argv[0]print "b.py: __file__=", __file__print "b.py: os.getcwd()=",
os.getcwd()print樹C:.| a.py
\---subdir
b.py
如何在Python中獲得當前執(zhí)行的文件的路徑?
慕運維8079593
2019-07-27 15:15:15