使用python中的相对路径寻址到上级目录

时间:2019-04-10 02:12:29

标签: python

我在“ mainDirectory / subdirectory / myCode.py”中有一个python文件,在我的代码中,我想在“ mainDirectory / some_data.csv”中引用一个.csv文件,我不想使用绝对路径,因为我在不同的操作系统上运行代码,使用绝对路径可能会造成麻烦。简而言之,有没有办法使用python中的相对路径引用当前目录的上层目录?

我知道如何使用相对路径引用当前目录的子目录。但我正在寻找使用相对路径寻址到上层目录的方法。我不想使用绝对浴,因为该文件将在不同操作系统中的不同文件夹中运行。

4 个答案:

答案 0 :(得分:0)

此问题可能与此处回答的问题相同-Importing modules from parent folder

答案 1 :(得分:0)

您始终可以在运行时使用os软件包提供的API导出绝对路径。

 import os
dirname = os.path.dirname(__file__)
filename = os.path.join(dirname, 'relative/path/to/file/you/want')

完整的答案始终是单击即可。 Relative paths in Python

答案 2 :(得分:0)

如果您查看Python文档,则会发现该语言并非旨在用于这种用途。相反,您将希望尝试重构目录以将myCode.py放在父级目录中,例如mainDirectory

mainDirectory
│   
└───myCode.py
│   
└───subdirectory
    │   
    │   some_data.csv

您正面临PYTHONPATH性质的问题。此处有一篇有关处理PYTHONPATH的精彩文章:

https://chrisyeh96.github.io/2017/08/08/definitive-guide-python-imports.html

如果您是该语言的新手(或者您已经使用多年了!)来导航Python导入语句,可能会遇到挑战。阅读用于导入的PEP8约定,并确保您的项目符合标准语言约定,可以节省大量时间,并且在需要重新构建目录树时可以节省很多麻烦的git commits

答案 3 :(得分:0)

os.path中可以使用几种工具:

from os.path import dirname
upper = dirname(dirname(__filepath__))

此处链接到有关访问上层目录的更全面的答案: How do I get the parent directory in Python?