首頁  >  文章  >  後端開發  >  如何在Python中使用相對路徑從子目錄讀取檔案?

如何在Python中使用相對路徑從子目錄讀取檔案?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-01 07:31:02827瀏覽

How to Read a File from a Subdirectory Using a Relative Path in Python?

在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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn