Python和环境变量

时间:2017-07-25 18:44:51

标签: python bash python-2.7 unix

在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:name' number'没有定义。

为什么呢?是否可以使用python -c获取env变量?

1 个答案:

答案 0 :(得分:5)

请务必更改双引号的单引号(至少是外部引号)以避免出现此问题

python -c "import os;print(os.environ['number'])" 3

工作正常,因为我的单引号在双引号内。

编辑:您的示例的问题不在于您在Python中使用单引号,问题在于您的shell正在解释这些单引号。

来自bash手册页:

  

单引号之间可能不会出现单引号,即使前面有反斜杠也是如此。