Running os.path.expandvars
对于某些环境变量失败。似乎太基础了,不太真实。
$ echo $HOSTTYPE
x86_64
$ echo $HOME
/labhome/eladw
$ python -c 'import os; print os.path.expandvars("$HOSTTYPE")'
$HOSTTYPE
$ python -c 'import os; print os.path.expandvars("$HOME")'
/labhome/eladw
知道我缺少什么吗(我正在运行 python 2.7)?
shell 中设置的环境变量不会自动设置exported到子流程。只因为你的shell has a HOSTTYPE
变量,并不意味着该变量对子流程可见。
首先导出变量:
$ export HOSTTYPE
您可以将设置和导出变量合并到一个步骤中:
$ export HOSTTYPE=x86_64
Demo:
$ HOSTTYPE=x86_64
$ python -c 'import os; print os.path.expandvars("$HOSTTYPE")'
$HOSTTYPE
$ export HOSTTYPE
$ python -c 'import os; print os.path.expandvars("$HOSTTYPE")'
x86_64
See bash中环境变量和导出环境变量的区别 https://unix.stackexchange.com/questions/3507/difference-between-environment-variables-and-exported-environment-variables-in-b.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)