如何访问从shell脚本传递的python文件中的变量..?

时间:2014-03-13 02:35:47

标签: python shell

如何在shell脚本传递的python文件中执行变量..?

我从shell脚本导出变量xyz。现在我想在python中查看它的值,文件怎么做?

我尝试过使用:

#Python
if '$xyz'
flag+= '-DVERSIONNUMBER'

基本上我必须创建一个宏,如果xyz保持一些值并且不是空的。你能建议一种方法吗? 我的另一个疑问是,我们可以在python文件中有选择地定义宏,即如果xyz为空,我不想要定义该标志,以便在.c文件中我可以检查:

#if defined (VERSIONNUMBER)
//code
#else
//code    
#endif

简而言之,我必须执行以下步骤:

  • 从shell传递xyz。
  • 检查Python中是否为空并定义值为xyz
  • 的标志
  • 检查是否在python中定义了标志并在.c文件中执行了一些代码。

1 个答案:

答案 0 :(得分:3)

可以通过os.environ['varname']访问环境变量。

在你的shell中:

export VERSIONNUMBER=1

在你的Python中:

if os.environ.get('VERSIONNUMBER'):
   pass # do something here

请注意,环境仅在一个方向传递 - 从父母传给子女。因此,从Python脚本中更改 os.environ['VERSIONNUMBER']的值将对它启动的任何子进程(其子进程)产生影响,但不会影响启动它的程序(其父进程)。 / p>