首先,相對路徑即是py文件所在文件夾的路徑,例如在以下目錄中,1.txt
關於1.py
的相對路徑即為1.txt
。
1 | ├── 1.py |
雖然相對路徑在PowerShell等大部分環境下可以被有效識別,不過在某些環境(例如VScode)下,使用相對路徑卻有可能出現報錯。
實際上,相對路徑的相容性並不高,這時使用絕對路徑便可以解決這些問題。這裡提供兩種得到絕對路徑的方法。以上文的1.py
和1.txt
為例:
使用
sys.path
sys
模組包含了與Python解釋器和它的環境有關的函數,而sys.path
是模組搜索路徑的字串列表,其中的第一項path[0]
包含用來調用Python解釋器的腳本的目錄。1
2import sys
absolute_path=sys.path[0]+'/'+relative_path使用
globals()
globals()
是Python的一個內建函數,其返回儲存有訪問全局變量的方式的字典,而'__file__'
鍵所對應的值即是py文件的絕對路徑。1
absolute_path=globals()['__file__'][:len(globals()['__file__'])-globals()['__file__'][::-1].find('\\')]+relative_path