0

我已经阅读了文档,但它没有告诉我们如何在open()函数中输入文件路径。

如果文件路径是:

/opt/myapp/report/sample.txt 

或者

$MYPATH/report/sample.txt(其中 $MYPATH=/opt/myapp)

可以这样写语句:

f = open('/opt/myapp/report/sample.txt', "r")

或者

f = open('$MYPATH/report/sample.txt', "r")
4

2 回答 2

5

您在这里要做的是扩展路径中的环境变量,可以通过以下方式完成os.path.expandvars()

返回扩展环境变量的参数。$name 或 ${name} 形式的子字符串被环境变量 name 的值替换。格式错误的变量名称和对不存在变量的引用保持不变。

在 Windows 上,除了 $name 和 ${name} 之外,还支持 %name% 扩展。

例如:

with open(os.path.expandvars(path), "r") as f:
    ...

请注意我在with这里使用的语句,这是打开文件的最佳方式,因为它确保它们被正确关闭,即使出现异常也是如此,并且读起来很好。

于 2012-12-09T16:32:42.227 回答
1

您可以使用os.environ来获取环境变量的值,os.path.join并将其与report/sample.txt部分组合:

os.path.join(os.environ['MYPATH'], 'report/sample.txt')

绝对路径也可以。

于 2012-12-09T16:33:17.323 回答