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

Horacio77N 8年前發布 | 963 次閱讀 Python

1

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

比如

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

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

我們在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]

驗證:

然后我們在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的所在目錄


 本文由用戶 Horacio77N 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!