Python如何讀取相對路徑文件
Python讀取相對路徑文件
例如下圖目錄結(jié)構(gòu):
第一種情況
1)xxx.py想要打開a.txt,使用相對路徑,有如下兩種方式:
思路:
xxx.py想打開的是b_file下的文件,XXX.py和b_file都在文件目錄之下,兩者是同級目錄,因此操作就是在當(dāng)前目錄向下搜索,因此就可以很容易理解下面的意思了
特別提示:… \是錯(cuò)誤的,打開的是上級目錄
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)進(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)
從下級目錄向上級目錄合并,也是可以使用加入方法實(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)前路徑??傊褂谜_的絕對路徑就行了。
為了避免出現(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)文章
新手入門學(xué)習(xí)python Numpy基礎(chǔ)操作
這篇文章主要介紹了新手入門學(xué)習(xí)python Numpy基礎(chǔ)操作,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03Python使用socket_TCP實(shí)現(xiàn)小文件下載功能
這篇文章主要介紹了Python使用socket_TCP實(shí)現(xiàn)小文件下載功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10python實(shí)現(xiàn)自動(dòng)發(fā)送郵件發(fā)送多人、群發(fā)、多附件的示例
下面小編就為大家分享一篇python實(shí)現(xiàn)自動(dòng)發(fā)送郵件發(fā)送多人、群發(fā)、多附件的示例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01pytorch環(huán)境配置及安裝圖文詳解(包括anaconda的安裝)
這篇文章主要介紹了pytorch環(huán)境配置及安裝圖文詳解(包括anaconda的安裝),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04機(jī)器學(xué)習(xí)、深度學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)之間的區(qū)別和聯(lián)系
機(jī)器學(xué)習(xí)>神經(jīng)網(wǎng)絡(luò)>深度學(xué)習(xí)≈深度神經(jīng)網(wǎng)絡(luò),機(jī)器學(xué)習(xí)包括了神經(jīng)網(wǎng)絡(luò)在內(nèi)的許多算法,而神經(jīng)網(wǎng)絡(luò)又可以分為淺度神經(jīng)網(wǎng)絡(luò)和深度神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)是使用了深度神經(jīng)網(wǎng)絡(luò)的技術(shù),雖然機(jī)器學(xué)習(xí)、深度學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)是不同的,但在構(gòu)建復(fù)雜系統(tǒng)時(shí),許多相關(guān)概念是混合在一起的2024-02-02