如何使用 python 访问父目录中的文件?

How to access file in parent directory using python?

我正在尝试访问父目录中的文本文件,

例如:python 脚本在 codeSrc 中,文本文件在 mainFolder.

脚本路径:

G:\mainFolder\codeSrc\fun.py

所需文件路径:

G:\mainFolder\foo.txt

我目前在 python 2.7x,

中使用此语法
import os 
filename = os.path.dirname(os.getcwd())+"\foo.txt"

虽然这很好用,但是有更好的(更漂亮的 :P)方法吗?

要获取当前脚本父目录中文件的路径,您可以执行以下操作:

import os
file_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'foo.txt')

你可以试试这个

import environ
environ.Path() - 1 + 'foo.txt'

虽然您的示例有效,但它可能不是最好的,我的也可能不是。无论如何,os.path.dirname() 可能适用于最后一部分已经是文件名的字符串。它使用 os.path.split(),如果路径以斜线结尾,它会提供一个空字符串。所以这可能会出错。此外,由于您已经在使用 os.path,我也将使用它来连接路径,这甚至变得与平台无关。我会写

os.path.join( os.getcwd(), '..', 'foo.txt' )

...关于代码的可读性,这里(在 post 使用 environ 模块时)很明显你提升了一个级别。

要获取父目录,以下代码将对您有所帮助:

import os
os.path.abspath(os.path.join('..', os.getcwd()))