Python獲取當(dāng)前文件所在目錄完整路徑的代碼實現(xiàn)
更新時間:2025年06月23日 11:10:11 作者:1010n111
在Python編程中,有時需要獲取當(dāng)前文件所在目錄的完整路徑,比如在讀取配置文件、加載數(shù)據(jù)文件時,需要基于當(dāng)前文件的位置來確定文件的相對路徑,然而,實現(xiàn)這一功能會因Python版本和運(yùn)行環(huán)境的不同而有所差異,本文小編給大家詳細(xì)介紹了獲取方法,需要的朋友可以參考下
Python獲取當(dāng)前文件所在目錄的完整路徑
實現(xiàn)步驟
Python 3
使用pathlib
模塊
- 獲取腳本所在目錄:
import pathlib path = pathlib.Path(__file__).parent.resolve() print(path)
- 獲取當(dāng)前工作目錄:
import pathlib path = pathlib.Path().resolve() print(path)
Python 2和3通用
使用os.path
模塊
- 獲取腳本所在目錄:
import os path = os.path.dirname(os.path.abspath(__file__)) print(path)
- 獲取當(dāng)前工作目錄:
import os path = os.path.abspath(os.getcwd()) print(path)
Jupyter Notebook環(huán)境
在Jupyter Notebook中,__file__
變量無法返回預(yù)期值,可以使用以下方法:
from pathlib import Path path = Path().absolute() print(path)
核心代碼
Python 3使用pathlib獲取腳本所在目錄
from pathlib import Path path = Path(__file__).parent.absolute() print(path)
Python 2和3通用使用os.path獲取腳本所在目錄
import os path = os.path.dirname(os.path.abspath(__file__)) print(path)
最佳實踐
- 使用
pathlib
模塊:在Python 3中,推薦使用pathlib
模塊,它提供了面向?qū)ο蟮穆窂讲僮鞣绞?,代碼更簡潔易讀。 - 處理
__file__
未定義的情況:在交互式環(huán)境或從非文件資源加載代碼時,__file__
可能未定義,需要進(jìn)行相應(yīng)的錯誤處理。
常見問題
- __file__未定義:在交互式環(huán)境中運(yùn)行Python代碼時,__file__變量未定義,會引發(fā)NameError??梢酝ㄟ^判斷是否在交互式環(huán)境中來避免使用__file__。
- 路徑分隔符問題:在不同操作系統(tǒng)中,路徑分隔符不同(Windows使用\,Linux和macOS使用/)。使用os.path或pathlib模塊可以自動處理路徑分隔符問題。
以上就是Python獲取當(dāng)前文件所在目錄完整路徑的代碼實現(xiàn)的詳細(xì)內(nèi)容,更多關(guān)于Python獲取文件所在目錄完整路徑的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
python統(tǒng)計列表中元素出現(xiàn)次數(shù)的三種方法
這篇文章主要介紹了python統(tǒng)計列表中元素出現(xiàn)次數(shù)的三種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-08-08Pandas讀取MySQL數(shù)據(jù)到DataFrame的方法
今天小編就為大家分享一篇Pandas讀取MySQL數(shù)據(jù)到DataFrame的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07python環(huán)境功能強(qiáng)大的pip-audit安全漏洞掃描工具
這篇文章主要為大家介紹了python環(huán)境中功能強(qiáng)大的pip-audit安全漏洞掃描工具的功能介紹及安裝使用說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助2022-02-02