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

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

