在Python 專案中使用相對路徑讀取檔案
問題與Python 專案中相對路徑的使用有關,特別是當嘗試訪問項目結構中的文件。當嘗試在程式碼中使用相對路徑從子目錄讀取檔案時,可能會遇到錯誤。
出現此問題的原因是相對路徑依賴目前工作目錄。這意味著,如果從專案目錄執行主腳本 (main.py),則 module.py 中的相對路徑 (../data/test.csv) 將無法正確解析。它將引用項目目錄之外的位置,而不是預期的資料子目錄。
要解決此問題,建議使用絕對路徑,該路徑與目前工作目錄無關。一種方法是利用 file 特殊屬性,它提供目前運行腳本的絕對路徑。由此,您可以使用Pathlib (對於Python 3.4 )或os.path (對於較舊的Python 版本)構建所需文件的絕對路徑:
使用Pathlib (Python 3.4 ):
<code class="python">from pathlib import Path path = Path(__file__).parent / "../data/test.csv"</code>
使用os.path:
<code class="python">import os.path my_path = os.path.abspath(os.path.dirname(__file__)) path = os.path.join(my_path, "../data/test.csv")</code>
透過使用絕對路徑,無論目前工作目錄為何,您都可以隨時正確存取檔案。
以上是如何在Python中使用相對路徑從子目錄讀取檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!