Python Path

腳本所在的路徑

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

sys.argv[0] 其實就是當前腳本的位置。再日後的每一項就是執行這個文件的時候附帶的各個參數(若是有的話)。io

參考

filesystems - How to get full path of current file's directory in Python? - Stack Overflowclass

相關文章
相關標籤/搜索