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

Edm*_*lho 1 python python-2.7 python-os

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

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

脚本路径:

G:\mainFolder\codeSrc\fun.py
Run Code Online (Sandbox Code Playgroud)

所需的文件路径:

G:\mainFolder\foo.txt
Run Code Online (Sandbox Code Playgroud)

我目前在python 2.7x中使用此语法,

import os 
filename = os.path.dirname(os.getcwd())+"\\foo.txt"
Run Code Online (Sandbox Code Playgroud)

尽管这可以正常工作,但是有没有更好的方法(更漂亮的:P)呢?

mik*_*ski 5

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

os.path.join( os.getcwd(), '..', 'foo.txt' )
Run Code Online (Sandbox Code Playgroud)

...并涉及到代码的可读性,在这里(如使用environ模块的文章中所示),立即变得很明显。