2010-09-12 54 views
9

比方說,我在/A/B/a.py中有一個python腳本a.py,它位於PATH環境變量中。當前工作目錄是/ X/Y /,它是我稱之爲/A/B/a.py的目錄。如何知道python腳本被調用的目錄?

  • 在a.py中,如何檢測/ X/Y /?我的意思是,如何知道在哪個目錄下進行python調用?
+0

其中蟒蛇呼叫時自動爲工作目錄的目錄。 – leoluk 2010-09-12 19:28:11

回答

15

你可以得到當前工作目錄:

os.getcwd() 
+4

出於可移植性的原因,您應該使用'getcwdu()'。 – Philipp 2010-09-12 20:33:59

+1

函數['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

4
>> 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 
+0

這給了你'/ A/B'目錄,'a.py'的位置。 – 2010-09-12 19:30:28

+0

這不是他的意思,從昨天看他的問題(http://stackoverflow.com/questions/3691921/how-to-know-the-path-the-script-the-python-run)。 – AndiDog 2010-09-12 19:31:31

+0

@Radomir - 我認爲.py文件所在的目錄是OP想要的。你的評論讓我重讀OP的問題,並且看到情況並非如此。 – 2010-09-12 19:33:13

相關問題