我已经阅读了文档,但它没有告诉我们如何在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")
答案 0 :(得分:5)
您要在此处执行的操作是在路径中展开环境变量,可以使用os.path.expandvars()
来完成:
返回扩展了环境变量的参数。形式为$ name或$ {name}的子字符串将替换为值 环境变量名称。格式错误的变量名称和引用 不存在的变量保持不变。
在Windows上,除了$ name和$ {name}之外,还支持%name%expansions。
E.g:
with open(os.path.expandvars(path), "r") as f:
...
请注意我在这里使用with
语句,这是打开文件的最佳方式,因为它确保它们正确关闭,即使有异常,并且读取得很好。
答案 1 :(得分:1)
您可以使用os.environ
获取环境变量的值,并os.path.join
将其与report/sample.txt
部分结合使用:
os.path.join(os.environ['MYPATH'], 'report/sample.txt')
绝对路径也可以。