Pythonos.path.expandvars操作系统只对某些变量有效

2024-05-17 08:46:57 发布

您现在位置:Python中文网/ 问答频道 /正文

对某些env变量运行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

你知道我遗漏了什么吗(我运行的是python2.7)?在


Tags: pathimportechoenvhomeosx86print
1条回答
网友
1楼 · 发布于 2024-05-17 08:46:57

shell中设置的环境变量不会自动导出到子流程中。仅仅因为您的shell有一个HOSTTYPE变量,并不意味着这个is变量对子进程可见。在

首先导出变量:

$ export HOSTTYPE

您可以在一个步骤中将设置和导出变量与:

^{pr2}$

演示:

$ 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

Difference between environment variables and exported environment variables in bash。在

相关问题 更多 >