If you mean the directory of the script being run:python
import os os.path.dirname(os.path.abspath(__file__))
注意:__file__
只有在直接運行腳本的時候纔會有spa
If you mean the current working directory:code
import os os.getcwd()
當前的工做路徑和文件的路徑顯然是能夠不同的,好比能夠 $ python foo/bar.py
,那麼 os.getcwd()
是 xxx
的話,os.path.dirname(os.path.abspath(__file__))
的結果就是 xxx/foo/
。ip
若是是 open(filename, 'r')
,這時候的 filename
能夠是 /foo/bar.txt
這樣的絕對路徑,或者是 foo/bar.txt
這樣的相對路徑,絕對路徑無懸念,記住相對路徑是相對於當前工做路徑的。因此在代碼中寫死 open('foo.txt', 'r')
的話可能會由於執行時候的實際 cwd 變化而致使錯誤。get
sys.argv[0]
其實就是當前腳本的位置。再日後的每一項就是執行這個文件的時候附帶的各個參數(若是有的話)。io
filesystems - How to get full path of current file's directory in Python? - Stack Overflowclass