在Python 專案中使用相對路徑讀取檔案
背景:
背景:project /data test.csv /package __init__.py module.py main.py通常具有帶有各種目錄和模組的特定檔案結構。使用相對路徑從不同模組內存取檔案有時會導致錯誤。考慮以下項目結構:
在此範例中,module.py 檔案嘗試使用相對路徑(“../data/test.csv”)存取test.csv 文件,但遇到從main .py 運行時發生錯誤。
解釋:直接從使用 module.py 時,相對路徑的解釋會有所不同,取決於使用它們的模組。在包目錄中,相對路徑有效,因為它是相對於模組的位置的。但是,當 main.py 匯入並執行模組時,相對路徑將變為相對於 main.py 檔案位置。
絕對路徑:
<code class="python">path = os.path.abspath("path/to/test.csv")</code>
Pathlib:
<code class="python">from pathlib import Path path = Path(__file__).parent / "../data/test.csv"</code>
file
屬性:<code class="python">import os.path path = os.path.join(os.path.dirname(__file__), "../data/test.csv")</code>
建議:為了更好的兼容性和清晰度,通常建議對於Python 3.4 使用pathlib 解決方案,對於較舊的Python 版本使用os.path.join() 解決方案。
以上是如何在 Python 專案中使用相對路徑存取檔案:為什麼 \'../data/test.csv\' 失敗以及如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!