首页  >  文章  >  后端开发  >  如何在Python中使用相对路径从子目录读取文件?

如何在Python中使用相对路径从子目录读取文件?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-01 07:31:02748浏览

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