Python獲取腳本所在目錄的正確方法

1python

C:test
  [dir] getpath
    [file] path.py
    [dir]  sub
      [file] sub_path.py

好比shell

C:\test目錄下還有一個名爲sub的目錄;spa

C:\test目錄下有getpath.py,sub目錄下有 sub_path.py,getpath.py調用sub_path.py;code

咱們在C:\test下執行getpath.py。若是咱們在 sub_path.py裏面使用sys.path[0],那麼其實獲得的是getpath.py所在的目錄路徑「C:\test」,由於Python虛擬 機是從getpath.py開始執行的。若是想獲得sub_path.py的路徑,那麼得這樣:
os.path.split(os.path.realpath(__file__))[0]get

驗證:it

而後咱們在C:\test下面執行python getpath/path.py,這時sub_path.py裏面與各類用法對應的值實際上是:
os.getcwd() 「C:\test」,取的是起始執行目錄
sys.path[0]或sys.argv[0] 「C:\test\getpath」,取的是被初始執行的腳本的所在目錄
os.path.split(os.path.realpath(__file__))[0] 「C:\test\getpath\sub」,取的是__file__所在文件sub_path.py的所在目錄class

相關文章
相關標籤/搜索