比方說,我在/A/B/a.py中有一個python腳本a.py,它位於PATH環境變量中。當前工作目錄是/ X/Y /,它是我稱之爲/A/B/a.py的目錄。如何知道python腳本被調用的目錄?
- 在a.py中,如何檢測/ X/Y /?我的意思是,如何知道在哪個目錄下進行python調用?
比方說,我在/A/B/a.py中有一個python腳本a.py,它位於PATH環境變量中。當前工作目錄是/ X/Y /,它是我稱之爲/A/B/a.py的目錄。如何知道python腳本被調用的目錄?
你可以得到當前工作目錄:
os.getcwd()
出於可移植性的原因,您應該使用'getcwdu()'。 – Philipp 2010-09-12 20:33:59
函數['getcwdu'](https://docs.python.org/2/library/os.html#os.getcwdu)在Python 2中返回一個unicode字符串。['getcwd'](https:// docs .python.org/3/library/os.html#os.getcwd)在Python 3中返回一個unicode字符串。 ['getcwdb'](https://docs.python.org/3/library/os.html#os.getcwdb)在Python 3中返回一個字節串。Python 3中沒有'getcwdu'。 – 2017-11-26 02:47:09
>> os.getcwd()
/X/Y
>> os.path.dirname(os.path.realpath(__file__)) # cannot be called interactively
/A/B
>> sys.path[0]
/A/B
>> os.path.abspath(sys.argv[0])
/A/B/a.py
這給了你'/ A/B'目錄,'a.py'的位置。 – 2010-09-12 19:30:28
這不是他的意思,從昨天看他的問題(http://stackoverflow.com/questions/3691921/how-to-know-the-path-the-script-the-python-run)。 – AndiDog 2010-09-12 19:31:31
@Radomir - 我認爲.py文件所在的目錄是OP想要的。你的評論讓我重讀OP的問題,並且看到情況並非如此。 – 2010-09-12 19:33:13
其中蟒蛇呼叫時自動爲工作目錄的目錄。 – leoluk 2010-09-12 19:28:11