我們在編寫Python代碼時 , 讀取文件是一種非常常見的操作 。文件的路徑可以有兩種方式:絕對路徑和相對路徑 。絕對路徑指的是從根目錄開始的路徑,而相對路徑指的是相對于當(dāng)前文件所在目錄的路徑 。相對路徑相對于絕對路徑具有更好的靈活性,因?yàn)樗灰蕾囉谌魏苇h(huán)境變量或系統(tǒng)設(shè)置 。接下來我們將介紹如何使用Python讀取txt文件的相對路徑 。
1. os模塊

os模塊提供了一種跨平臺的方式去操作文件和目錄 。在使用相對路徑讀取txt文件時,我們可以使用os.path.dirname函數(shù)獲取當(dāng)前文件的路徑,然后使用os.path.join函數(shù)與相對路徑拼接出目標(biāo)文件的路徑,最后使用open函數(shù)讀取文件內(nèi)容即可 。下面是示例代碼:
import os
filepath = os.path.join(os.path.dirname(__file__), 'file.txt')
with open(filepath, 'r') as f:
content = f.read()
print(content)
os.path.join函數(shù)可以將多個字符串拼接成一個路徑字符串,而os.path.dirname函數(shù)可以獲取當(dāng)前文件所在目錄的路徑 。__file__變量是Python內(nèi)置的,表示當(dāng)前文件的絕對路徑 。
2. pathlib模塊
pathlib是Python 3中新引入的模塊,可以方便地操作文件和目錄路徑 。使用pathlib模塊讀取txt文件的相對路徑,代碼如下:
from pathlib import Path
filepath = Path(__file__).resolve().parent.joinpath('file.txt')
with open(filepath, 'r') as f:
content = f.read()
print(content)
Path(__file__).resolve().parent可以獲取當(dāng)前文件的路徑 , joinpath方法可以將多個路徑組合起來 。resolve方法可以獲取路徑的絕對路徑 。
3. pkg_resources模塊
pkg_resources模塊提供了方便的訪問包資源的方式 。使用pkg_resources模塊讀取txt文件可以保證代碼在任何操作系統(tǒng)上都能夠正常運(yùn)行 。代碼如下:
import pkg_resources
filepath = pkg_resources.resource_filename(__name__, 'file.txt')
with open(filepath, 'r') as f:
content = f.read()
print(content)
__name__變量是Python內(nèi)置的 , 表示當(dāng)前模塊的名稱 。pkg_resources.resource_filename方法可以獲取包資源的路徑 。
總結(jié)
【python讀取txt相對路徑?】本文介紹了使用Python讀取txt文件的相對路徑的三種方式:os模塊、pathlib模塊和pkg_resources模塊 。在實(shí)際開發(fā)中,我們可以根據(jù)實(shí)際情況選擇使用不同的方法 。os模塊可以兼容Python 2和3 , 而pathlib模塊更加好用和易讀,pkg_resources模塊則可以保證代碼在任何操作系統(tǒng)上都能夠正常運(yùn)行 。
猜你喜歡
- python截取字符串中的一部分?
- python重復(fù)打開桌面應(yīng)用?
- python中除法運(yùn)算結(jié)果?
- python中移動到指定位置?
- python版本怎么選?
- python調(diào)用main函數(shù)語句?
- python打代碼是怎么另起一行?
- python全局變量用法?
- python 修改pdf?
- python計(jì)算如何保留兩位小數(shù)?
