【发布时间】:2016-10-14 12:27:09
【问题描述】:
如何防止 Python 的 os.path.expandvars() 处理 null/unset 环境变量?
来自os.path:
格式错误的变量名和对不存在变量的引用保持不变。
>>> os.path.expandvars('$HOME/stuff')
'/home/dennis/stuff'
>>> os.path.expandvars('foo/$UNSET/bar')
'foo/$UNSET/bar'
我可以将这一步与其他路径处理(expanduser()、realpath(),normpath() 等)分开执行,而不是将它们全部链接在一起并检查结果是否不变,但是当存在没有变量存在 - 所以我还必须解析字符串以查看它是否有任何变量。我担心这可能不够健壮。
使用结果创建文件时会出现问题。我最终得到一个文件,其中变量名作为文件名的文字部分。我想改为拒绝输入但有异常。
【问题讨论】:
-
您的应用程序是否有办法知道需要哪些环境变量?它可以先检查它们,并将任何丢失的设置为空字符串。
标签: python path environment-variables