Python獲取當(dāng)前文件所在目錄完整路徑的代碼實(shí)現(xiàn)
Python獲取當(dāng)前文件所在目錄的完整路徑
實(shí)現(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)
最佳實(shí)踐
- 使用
pathlib模塊:在Python 3中,推薦使用pathlib模塊,它提供了面向?qū)ο蟮穆窂讲僮鞣绞剑a更簡潔易讀。 - 處理
__file__未定義的情況:在交互式環(huán)境或從非文件資源加載代碼時(shí),__file__可能未定義,需要進(jìn)行相應(yīng)的錯(cuò)誤處理。
常見問題
- __file__未定義:在交互式環(huán)境中運(yùn)行Python代碼時(shí),__file__變量未定義,會(huì)引發(fā)NameError??梢酝ㄟ^判斷是否在交互式環(huán)境中來避免使用__file__。
- 路徑分隔符問題:在不同操作系統(tǒng)中,路徑分隔符不同(Windows使用\,Linux和macOS使用/)。使用os.path或pathlib模塊可以自動(dòng)處理路徑分隔符問題。
以上就是Python獲取當(dāng)前文件所在目錄完整路徑的代碼實(shí)現(xiàn)的詳細(xì)內(nèi)容,更多關(guān)于Python獲取文件所在目錄完整路徑的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python實(shí)現(xiàn)多線程下載腳本的示例代碼
這篇文章主要介紹了Python實(shí)現(xiàn)多線程下載腳本的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
Python?Pywinauto輕松實(shí)現(xiàn)Windows桌面自動(dòng)化詳解
pywinauto這個(gè)Python庫可以讓你像魔法師一樣操控Windows?GUI,輕松模擬鼠標(biāo)鍵盤操作,自動(dòng)化Notepad,Excel甚至企業(yè)級(jí)軟件,下面小編就來和大家詳細(xì)介紹一下它的使用吧2025-05-05
Python實(shí)現(xiàn)從訂閱源下載圖片的方法
這篇文章主要介紹了Python實(shí)現(xiàn)從訂閱源下載圖片的方法,涉及Python采集的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03
Python Pandas高級(jí)教程之時(shí)間處理
我們發(fā)現(xiàn)關(guān)于時(shí)間日期的簡單計(jì)算很多功能都是datetime庫提供的,那么pandas有沒有提供跟日期時(shí)間有關(guān)的函數(shù),通過下面文章來了解下,這篇文章主要給大家介紹了關(guān)于Python Pandas高級(jí)教程之時(shí)間處理的相關(guān)資料,需要的朋友可以參考下2021-10-10
Linux環(huán)境下的Python打包和部署實(shí)踐
這篇文章主要介紹了Linux環(huán)境下的Python打包和部署實(shí)踐的相關(guān)資料,需要的朋友可以參考下2023-11-11
在 Python 中如何使用 Re 模塊的正則表達(dá)式通配符
這篇文章主要介紹了在 Python 中如何使用 Re 模塊的正則表達(dá)式通配符,本文詳細(xì)解釋了如何在 Python 中使用帶有通配符的 re.sub() 來匹配字符串與正則表達(dá)式,需要的朋友可以參考下2023-06-06

