Python如何讀取相對路徑文件
Python讀取相對路徑文件
例如下圖目錄結(jié)構(gòu):
第一種情況
1)xxx.py想要打開a.txt,使用相對路徑,有如下兩種方式:
思路:
xxx.py想打開的是b_file下的文件,XXX.py和b_file都在文件目錄之下,兩者是同級目錄,因此操作就是在當前目錄向下搜索,因此就可以很容易理解下面的意思了
特別提示:… \是錯誤的,打開的是上級目錄
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,應該怎么寫:
思路,首先要定位到上級目錄,在上級目錄下找到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的當前路徑,再然后通過組合的方式電子雜志到絕對路徑。
當然還可以分成兩部,使用os.path.join(路徑,PATH1)進行兩個路徑的自動合并,去獲取到完整的路徑,也是可行的。
import os path = os.getcwd()#獲取當前路徑 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)義字符串,即便是放在當前路徑下,只寫文件名還是會失敗。
不清楚為什么vscode軟件無法識別當前路徑。總之使用正確的絕對路徑就行了。
為了避免出現(xiàn)轉(zhuǎn)義字符導致文件地址解析出錯,我們可以使用雙斜杠,或者反方向的斜杠。
DATA_FILE = ['F:\\vscode\\kiwi.csv'] DATA_FILE = ['F:/vscode/kiwi.csv']
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python使用socket_TCP實現(xiàn)小文件下載功能
這篇文章主要介紹了Python使用socket_TCP實現(xiàn)小文件下載功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10python實現(xiàn)自動發(fā)送郵件發(fā)送多人、群發(fā)、多附件的示例
下面小編就為大家分享一篇python實現(xiàn)自動發(fā)送郵件發(fā)送多人、群發(fā)、多附件的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01pytorch環(huán)境配置及安裝圖文詳解(包括anaconda的安裝)
這篇文章主要介紹了pytorch環(huán)境配置及安裝圖文詳解(包括anaconda的安裝),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04機器學習、深度學習和神經(jīng)網(wǎng)絡之間的區(qū)別和聯(lián)系
機器學習>神經(jīng)網(wǎng)絡>深度學習≈深度神經(jīng)網(wǎng)絡,機器學習包括了神經(jīng)網(wǎng)絡在內(nèi)的許多算法,而神經(jīng)網(wǎng)絡又可以分為淺度神經(jīng)網(wǎng)絡和深度神經(jīng)網(wǎng)絡,深度學習是使用了深度神經(jīng)網(wǎng)絡的技術(shù),雖然機器學習、深度學習和神經(jīng)網(wǎng)絡是不同的,但在構(gòu)建復雜系統(tǒng)時,許多相關概念是混合在一起的2024-02-02