在 ubuntu 终端中执行以下命令我得到了预期的结果:
$export number=3
echo $number ###3
$python
>>>import os
>>>print(os.environ['number']) ###prints 3
同时:
$python -c 'import os;print(os.environ['number'])'
结果:NameError:名称“number”未定义。
为什么?是否可以使用 python -c 获取环境变量?最佳答案
确保将单引号更改为双引号(至少是外部引号)以避免出现该问题
python -c "导入 os;print(os.environ['number'])"
3
工作得很好,因为我的单引号在双引号内。
编辑:您的示例的问题不在于您在 Python 中使用单引号,问题在于您的 shell 正在解释这些单引号。
来自 bash 手册页:
A single quote may not occur between single quotes, even when preceded by a backslash.
关于Python和环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45311301/