欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何解決Python:報錯[Errno 2]No such file or directory問題

 更新時間:2025年02月25日 17:00:27   作者:T-I-M  
介紹了Python文件讀取操作時常見的錯誤原因及解決方法,主要錯誤原因包括路徑拼寫錯誤、工作目錄與相對路徑不匹配以及文件不存在,解決方法有使用絕對路徑和動態(tài)獲取腳本路徑,其他注意事項包括驗證文件路徑與名稱、理解工作目錄與相對路徑

Python報錯[Errno 2]No such file or directory

問題現(xiàn)象

Python文件讀取操作時,系統(tǒng)無法找到指定路徑的文件或目錄。其核心原因可歸結(jié)為以下三點:

  1. 路徑拼寫錯誤(如大小寫不一致、特殊字符未轉(zhuǎn)義)
  2. 工作目錄與相對路徑不匹配(常見于IDE或腳本調(diào)用場景)
  3. 文件實際不存在(包括擴展名錯誤或文件被移動)

其中,第二種為最常見的原因。主要為項目中調(diào)用.py文件中存在相對路徑,而在Pycharm中運行與終端中運行可能結(jié)果不同,一個報錯一個不報錯。

快速解決方案

1.使用絕對路徑

直接指定文件的完整路徑(適用于固定環(huán)境):

with open("/home/user/project/data/file.txt") as f:  # Linux示例
    pass

注意Windows路徑需處理反斜杠轉(zhuǎn)義(如r"C:\Users\file.txt"或雙反斜杠)。

2.動態(tài)獲取腳本所在目錄(推薦)

通過__file__屬性定位腳本的真實路徑,避免工作目錄干擾:

import os
# 當前文件的父目錄
script_dir = os.path.dirname(os.path.abspath(__file__)) 
# 當前文件的父目錄的父目錄(我的此處為項目目錄)
project_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 

# 根據(jù)自己的需求選擇
file_path = os.path.join(script_dir, "data/file.txt")
# 或者
file_path = os.path.join(project_dir, "data/file.txt")

此方法在多級目錄項目中尤為可靠。

其他原因排查

1.驗證文件路徑與名稱

  • 檢查路徑字符串的拼寫(包括英文冒號、斜杠方向等),例如data\file.txt在Linux中需改為data/file.txt1
  • 確認文件擴展名是否匹配(如.txt.csv的區(qū)別)
  • 使用os.path.exists()函數(shù)驗證路徑是否存在:
import os
print(os.path.exists("your_file_path"))  # 返回True則路徑有效

2.理解工作目錄與相對路徑

  • 執(zhí)行腳本時,系統(tǒng)以當前工作目錄為相對路徑起點,而非腳本所在目錄3
  • 通過os.getcwd()獲取當前工作目錄,若與預期不符:
  • 在IDE(如VSCode)中設置工作目錄(調(diào)試配置項)
  • 使用os.chdir()動態(tài)修改工作目錄

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 基于Python采集爬取微信公眾號歷史數(shù)據(jù)

    基于Python采集爬取微信公眾號歷史數(shù)據(jù)

    這篇文章主要介紹了基于Python采集爬取微信公眾號歷史數(shù)據(jù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • 跟老齊學Python之關于循環(huán)的小伎倆

    跟老齊學Python之關于循環(huán)的小伎倆

    不管是while還是for,所發(fā)起的循環(huán),在python編程中是經(jīng)常被用到的。特別是for,一般認為,它要比while快,而且也容易寫(是否容易,可能因人而異,但是,執(zhí)行時間快,是的確的),因此在實踐中,for用的比較多點。
    2014-10-10
  • Python hashlib庫數(shù)據(jù)安全加密必備指南

    Python hashlib庫數(shù)據(jù)安全加密必備指南

    這篇文章主要為大家介紹了Python hashlib庫數(shù)據(jù)安全加密的使用實例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • Python實現(xiàn)人工蜂群算法的示例代碼

    Python實現(xiàn)人工蜂群算法的示例代碼

    ABC,即人工蜂群算法(Artificial?Bee?Colony?Algorithm),由Karaboga等人提出,這篇文章主要介紹了人工蜂群算法的概念與Python實現(xiàn),感興趣的可以了解一下
    2023-08-08
  • Python自動化測試selenium指定截圖文件名方法

    Python自動化測試selenium指定截圖文件名方法

    這篇文章主要介紹了Python自動化測試selenium指定截圖文件名方法,Selenium?支持?Web?瀏覽器的自動化,它提供一套測試函數(shù),用于支持?Web?自動化測試,下文基于python實現(xiàn)指定截圖文件名方法,需要的小伙伴可以參考一下
    2022-05-05
  • 詳細介紹pandas的DataFrame的append方法使用

    詳細介紹pandas的DataFrame的append方法使用

    這篇文章主要介紹了詳細介紹pandas的DataFrame的append方法使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • Python文本處理簡單易懂方法解析

    Python文本處理簡單易懂方法解析

    這篇文章主要介紹了Python文本處理簡單易懂方法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • 15個應該掌握的Jupyter Notebook使用技巧(小結(jié))

    15個應該掌握的Jupyter Notebook使用技巧(小結(jié))

    這篇文章主要介紹了15個應該掌握的Jupyter Notebook使用技巧(小結(jié)),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • Python實現(xiàn)模擬分割大文件及多線程處理的方法

    Python實現(xiàn)模擬分割大文件及多線程處理的方法

    這篇文章主要介紹了Python實現(xiàn)模擬分割大文件及多線程處理的方法,涉及Python文件讀取、分割及多線程相關操作技巧,需要的朋友可以參考下
    2017-10-10
  • python腳本監(jiān)控logstash進程并郵件告警實例

    python腳本監(jiān)控logstash進程并郵件告警實例

    這篇文章主要介紹了python腳本監(jiān)控logstash進程并郵件告警實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04

最新評論