Python中獲取絕對路徑的方法

首先,相對路徑即是py文件所在文件夾的路徑,例如在以下目錄中,1.txt關於1.py的相對路徑即為1.txt

1
2
├── 1.py
├── 1.txt

雖然相對路徑在PowerShell等大部分環境下可以被有效識別,不過在某些環境(例如VScode)下,使用相對路徑卻有可能出現報錯。

實際上,相對路徑的相容性並不高,這時使用絕對路徑便可以解決這些問題。這裡提供兩種得到絕對路徑的方法。以上文的1.py1.txt為例:

  1. 使用sys.path

    sys模組包含了與Python解釋器和它的環境有關的函數,而sys.path是模組搜索路徑的字串列表,其中的第一項path[0]包含用來調用Python解釋器的腳本的目錄。

    1
    2
    import sys
    absolute_path=sys.path[0]+'/'+relative_path
  2. 使用globals()

    globals()是Python的一個內建函數,其返回儲存有訪問全局變量的方式的字典,而'__file__'鍵所對應的值即是py文件的絕對路徑。

    1
    absolute_path=globals()['__file__'][:len(globals()['__file__'])-globals()['__file__'][::-1].find('\\')]+relative_path
0%