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