如何在Python中将环境变量评估为字符串?

Sov*_*iut 52 python filesystems environment-variables

我有一个表示路径的字符串.由于此应用程序用于Windows,OSX和Linux,因此我们已定义环境变量以正确映射来自不同文件系统的卷.结果是:

"$C/test/testing"
Run Code Online (Sandbox Code Playgroud)

我想要做的是评估字符串中的环境变量,以便它们被各自的卷名替换.是否有我缺少的特定命令,或者我必须采取os.environ.keys()并手动替换字符串?

jbl*_*som 82

使用os.path.expandvars扩展字符串中的环境变量,例如:

>>> os.path.expandvars('$C/test/testing')
'/stackoverflow/test/testing'
Run Code Online (Sandbox Code Playgroud)

  • @JulianMann如果将`DOLLARSIGN`定义为变量,则可以使用`$ {DOLLARSIGN}`来使用文字美元符号. (5认同)

gri*_*tis 8

在 Python 3 中你可以这样做:

'{VAR}'.format(**os.environ))
Run Code Online (Sandbox Code Playgroud)

例如

>>> 'hello from {PWD}'.format(**os.environ))
hello from /Users/william
Run Code Online (Sandbox Code Playgroud)