本文摘要:本文已解決Python “No such file or directory“ 的相關(guān)報(bào)錯(cuò)問題,并總結(jié)提出了幾種可用解決方案。同時(shí)結(jié)合人工智能GPT排除可能得隱患及錯(cuò)誤。
?? 作者介紹:我是程序員洲洲,一個(gè)熱愛寫作的非著名程序員。CSDN全棧優(yōu)質(zhì)領(lǐng)域創(chuàng)作者、華為云博客社區(qū)云享專家、阿里云博客社區(qū)專家博主、前后端開發(fā)、人工智能研究生。公粽號:程序員洲洲。
?? 本文專欄:本文收錄于洲洲的《解決Bug》系列專欄,該專欄記錄了許多常見的各種開發(fā)Bug、環(huán)境配置類Bug、代碼Bug等等。歡迎大家關(guān)注本專欄~專欄一鍵跳轉(zhuǎn)
?? 同時(shí)歡迎大家關(guān)注其他專欄,我將分享Web前后端開發(fā)、人工智能、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)從0到1系列文章。
?? 同時(shí)洲洲已經(jīng)建立了程序員技術(shù)交流群,如果您感興趣,可以私信我加入我的社群~社群中將不定時(shí)分享各類福利
?? 隨時(shí)歡迎您跟我溝通,一起交流,一起成長、進(jìn)步!點(diǎn)此即可獲得聯(lián)系方式~
一、Bug描述
Python的這類 “No such file or directory“問題報(bào)錯(cuò)一般都是相對路徑或者絕對路徑設(shè)置錯(cuò)誤,并不在當(dāng)前的路徑結(jié)構(gòu)中,那么這類問題應(yīng)該如何處理呢。
首先我們要明確的一點(diǎn)就是,Python的相對路徑是基于主文件所在的路徑的。
也就是說,Python的相對路徑,相對的都是主文件。這個(gè)需要明確。
接下來我們詳細(xì)講解一下這個(gè)知識點(diǎn)。
二、定位報(bào)錯(cuò)原因
首先我們引入一個(gè)簡單的Python目錄結(jié)構(gòu)。
| -- main.py(主文件)
| -- conf.py(配置文件)
| -- zhouzhou.java(其他雜七雜八的文件)
| -- config.txt(配置文件)
在這其中,main.py是主文件,conf.py利引用config.txt相對路徑。
config大家都知道,是配置的意思。
如果用linux中的相關(guān)語法,那么.或者…相對的就是main.py了,這個(gè)應(yīng)該不難理解。.是指當(dāng)前文件所在的文件夾,而兩個(gè)點(diǎn)…指的是當(dāng)前文件夾的上一級目錄。
所以對于“./config.txt”這個(gè)命令來說,就是基于main.py這個(gè)同一個(gè)目錄之下。
所以大家在使用python路徑進(jìn)行文件處理的時(shí)候一定要搞對路徑,可以解決很多bug。
三、常見的路徑錯(cuò)誤
在這里給大家舉例一些常見的報(bào)錯(cuò)情況,(拋開文件名錯(cuò)誤這種低級錯(cuò)誤不談?。?/p>
| -- main.py(主文件)
| -- conf.py(配置文件)
| -- zhouzhou.java(其他雜七雜八的文件)
| -- config.txt(配置文件)
3.1 絕對與相對路徑錯(cuò)誤
首先我們還是按照最開始提到的文件目錄~
# 下面兩行代碼就是錯(cuò)誤的使用了相對路徑
file_path = '/zhouzhou.java'
with open(file_path, 'r') as file:
# 使用正確的相對路徑
file_path = './zhouzhou.java'
with open(file_path, 'r') as file:
# 文件操作
# 正確示例:使用絕對路徑,注意要把路徑打完整來
file_path = '/user/zhouzhoudedaima/zhouzhou.java'
with open(file_path, 'r') as file:
3.2 文件所在的目錄錯(cuò)誤
在寫路徑時(shí),除了上面的問題,還要注意所在目錄是否存在
# 如果zhouzhou文件夾不存在,那么就會(huì)報(bào)錯(cuò)
file_path = './zhouzhou/zhou.java'
with open(file_path, 'r') as file:
# 接下來是正確代碼示例
import os
directory = './zhouzhou'
if not os.path.exists(directory):
os.makedirs(directory)
# 我們先進(jìn)行路徑是否存在的判斷處理
# 如果路徑不存在就拋出異常
file_path = './zhouzhou/zhouzhou.java'
with open(file_path, 'r') as file:
3.3 文件權(quán)限錯(cuò)誤
如果我們訪問的文件權(quán)限有特殊限制,那么也會(huì)出現(xiàn)這類報(bào)錯(cuò)。
我們就需要把代碼寫好,分清楚r還是w。
with open(file_path, 'r') as file:
with open(file_path, 'w') as file:
# 如果沒有處理好權(quán)限,那么就不能正常寫入或者打開文件
四、相關(guān)注意事項(xiàng)
說了這么多,大家應(yīng)該十分清楚了。
如果還有別的報(bào)錯(cuò),歡迎大家在評論區(qū)指出~
總結(jié)
本文有部分圖片或解決方案來源于網(wǎng)絡(luò),如侵權(quán)請?jiān)诤笈_聯(lián)系博主刪除。
Hello,各位看官老爺們好,洲洲已經(jīng)建立了技術(shù)交流群,如果你很感興趣,可以私信我加入我的社群。
??社群中不定時(shí)會(huì)有很多活動(dòng),例如每周都會(huì)包郵免費(fèi)送一些技術(shù)書籍及精美禮品、學(xué)習(xí)資料分享、大廠面經(jīng)分享、技術(shù)討論、行業(yè)大佬創(chuàng)業(yè)雜談等等。
??社群方向很多,相關(guān)領(lǐng)域有Web全棧(前后端)、人工智能、機(jī)器學(xué)習(xí)、自媒體變現(xiàn)、前沿科技文章分享、論文精讀等等。
??不管你是多新手的小白,都?xì)g迎你加入社群中討論、聊天、分享,加速助力你成為下一個(gè)技術(shù)大佬!也隨時(shí)歡迎您跟我溝通,一起交流,一起成長。變現(xiàn)、進(jìn)步、技術(shù)、資料、項(xiàng)目、你想要的這里都會(huì)有
??網(wǎng)絡(luò)的風(fēng)口只會(huì)越來越大,風(fēng)浪越大,魚越貴!歡迎您加入社群~一個(gè)人可以或許可以走的很快,但一群人將走的更遠(yuǎn)!
??關(guān)注我的公眾號(與CSDN同ID:程序員洲洲)可以獲得一份Java 10萬字面試寶典及相關(guān)資料!~
??想都是問題,做都是答案!行動(dòng)起來吧!歡迎評論區(qū)or后臺與我溝通交流,也歡迎您點(diǎn)擊下方的鏈接直接加入到我的交流社群!~ 跳轉(zhuǎn)鏈接社區(qū)~文章來源:http://www.zghlxwxcb.cn/news/detail-776810.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-776810.html
到了這里,關(guān)于已解決Python “No such file or directory“問題報(bào)錯(cuò)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!