设置/读取环境variables
可能重复:
如何在Python中设置环境variables
我的python脚本,它调用了许多python函数和shell脚本。 我想在Python中设置一个环境variables(主调用函数)和所有的subprocess,包括shell脚本来查看环境variables集。
我需要设置一些像这样的环境variables:
DEBUSSY 1 FSDB 1   1是一个数字,而不是一个string。 另外,如何读取存储在环境variables中的值?  (像另一个python子脚本中的DEBUSSY / FSDB一样) 
 尝试使用os模块。 
 import os os.environ['DEBUSSY'] = '1' os.environ['FSDB'] = '1' # Open child processes via os.system(), popen() or fork() and execv() someVariable = int(os.environ['DEBUSSY']) 
 请参阅os.environ上的Python文档 。 另外,为了产生subprocess,请参阅Python的subprocess文档 。 
第一件事情第一:)读书是一个很好的解决问题的办法; 它是解决问题中的创可贴和长期投资之间的区别。 不要错过学习的机会。 :d
 你可以select将1解释为一个数字,但环境variables并不在意。 他们只是传递string: 
  The argument envp is an array of character pointers to null- terminated strings. These strings shall constitute the environment for the new process image. The envp array is terminated by a null pointer. 
  (来自environ(3posix) ) 
 您可以使用os.environ类似于字典的对象访问python中的环境variables: 
 >>> import os >>> os.environ["HOME"] '/home/sarnold' >>> os.environ["PATH"] '/home/sarnold/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' >>> os.environ["PATH"] = os.environ["PATH"] + ":/silly/" >>> os.environ["PATH"] '/home/sarnold/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/silly/' 
如果你想把全局variables传递给新的脚本,你可以创build一个仅用于保存全局variables(例如globals.py)的python文件。 当你在子脚本的顶部导入这个文件时,它应该可以访问所有这些variables。
如果你正在写这些variables,那么这是一个不同的故事。 这涉及到并发和lockingvariables,除非你想要,否则我不会进入。
 使用os.environ[str(DEBUSSY)]进行读写操作( http://docs.python.org/library/os.html#os.environ )。 
至于阅读,当然你必须从string中parsing数字。