我的python脚本,它调用了许多python函数和shell脚本。我想在Python (主调用函数)和所有子进程(包括shell脚本)中设置一个环境变量,以查看设置的环境变量。
我需要像这样设置一些环境变量:
DEBUSSY 1
FSDB 1
1
是一个数字,而不是字符串。另外,如何读取存储在环境变量中的值?(类似于另一个Python子脚本中的DEBUSSY
/FSDB
。)
发布于 2011-05-12 07:25:35
尝试使用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 docs。此外,有关派生子进程的信息,请参阅Python的subprocess docs。
发布于 2011-05-12 07:26:20
如果你想把全局变量传递到新的脚本中,你可以创建一个仅用于保存全局变量的python文件(例如globals.py)。当您在子脚本的顶部导入此文件时,它应该能够访问所有这些变量。
如果你是在写这些变量,那就是另一回事了。这涉及到并发性和锁定变量,除非您愿意,否则我不会涉及这些内容。
发布于 2011-05-12 07:25:56
使用os.environ[str(DEBUSSY)]
进行读写(http://docs.python.org/library/os.html#os.environ)。
至于读取,当然你必须自己从字符串中解析数字。
https://stackoverflow.com/questions/5971635
复制相似问题