Python如何讀取相對路徑文件
Python讀取相對路徑文件
例如下圖目錄結(jié)構(gòu):

第一種情況
1)xxx.py想要打開a.txt,使用相對路徑,有如下兩種方式:
思路:
xxx.py想打開的是b_file下的文件,XXX.py和b_file都在文件目錄之下,兩者是同級目錄,因此操作就是在當(dāng)前目錄向下搜索,因此就可以很容易理解下面的意思了
特別提示:… \是錯誤的,打開的是上級目錄
with open(r"b_file\a.txt","r") as file: with open(r".\b_file\a.txtx", "r") as file:
2)ab.py嘗試打開b_file下的a.txt,應(yīng)該怎么寫:
思路,首先要定位到上級目錄,在上級目錄下找到b_file下的.TXT
with open(r"..\b_file\aa.txt", "r") as f:
print(f.read())
最后:如果想要使用絕對路徑也很簡單:
xxx.py打開b_file下的a.txt中,我們可以使用OS庫,獲取到xxx.py的當(dāng)前路徑,再然后通過組合的方式電子雜志到絕對路徑。
當(dāng)然還可以分成兩部,使用os.path.join(路徑,PATH1)進行兩個路徑的自動合并,去獲取到完整的路徑,也是可行的。
import os path = os.getcwd()#獲取當(dāng)前路徑 with open(path+".\b_file\a.txt", "r") as file: import os path = os.getcwd() a_path = os.path.join(path, "b_file/a.txt") print(a_path)
從下級目錄向上級目錄合并,也是可以使用加入方法實現(xiàn)的
os.path.abspath(os.path.join(path, ".."))
python讀取文件路徑失敗的原因
今天用tensorflow讀取csv文件,一直讀取失敗,后來發(fā)現(xiàn)是因為文件名的路徑問題
例如:
DATA_FILE = ['F:\vscode\kiwi.csv']
這個時候出錯,是因為系統(tǒng)將‘\’解釋為了轉(zhuǎn)義字符串,即便是放在當(dāng)前路徑下,只寫文件名還是會失敗。
不清楚為什么vscode軟件無法識別當(dāng)前路徑。總之使用正確的絕對路徑就行了。
為了避免出現(xiàn)轉(zhuǎn)義字符導(dǎo)致文件地址解析出錯,我們可以使用雙斜杠,或者反方向的斜杠。
DATA_FILE = ['F:\\vscode\\kiwi.csv'] DATA_FILE = ['F:/vscode/kiwi.csv']
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python模塊hashlib(加密服務(wù))知識點講解
在本篇文章里小編給大家分享的是關(guān)于python模塊hashlib(加密服務(wù))知識點內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。2019-11-11
解決Pandas生成Excel時的sheet問題的方法總結(jié)
估計有不少小伙伴在將 DataFrame導(dǎo)入到Excel的時候,遇到過下面這種尷尬的情況:想給一個現(xiàn)有的Excel文件追加一個sheet,結(jié)果發(fā)現(xiàn)其它的sheet都沒了等,本文就來告訴你如何解決這些問題2022-08-08
Python基礎(chǔ)之文件操作及光標(biāo)移動詳解
這篇文章主要為大家介紹了Python基礎(chǔ)之文件操作及光標(biāo)移動詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-11-11
分析總結(jié)Python數(shù)據(jù)化運營KMeans聚類
本文主要以 Python 使用 Keans 進行聚類分析的簡單舉例應(yīng)用介紹聚類分析,它是探索性數(shù)據(jù)挖掘的主要任務(wù),也是統(tǒng)計數(shù)據(jù)分析的常用技術(shù),用于許多領(lǐng)域2021-08-08

