Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python捕获环境变量_Python_Linux_Bash - Fatal编程技术网

python捕获环境变量

python捕获环境变量,python,linux,bash,Python,Linux,Bash,此bash脚本可以捕获数据通过STDIN传递时设置的所有环境变量,例如: echo "Hello" | ./script.sh script.sh #!/bin/bash CAPTURE_FILE=/var/log/capture_data env >> ${CAPTURE_FILE} exit 1 我可以用python做同样的事情吗 已解决: 这是最终的python版本 #!/usr/bin/env python import os import sys def capt

此bash脚本可以捕获数据通过STDIN传递时设置的所有环境变量,例如:

echo "Hello" | ./script.sh
script.sh

#!/bin/bash

CAPTURE_FILE=/var/log/capture_data
env >> ${CAPTURE_FILE}
exit 1
我可以用python做同样的事情吗

已解决:

这是最终的python版本

#!/usr/bin/env python

import os
import sys

def capture():

    log = os.environ
    data = open("/tmp/capture.log", "a")
    for key in log.keys():
        data.write((key))
        data.write(" : ")
        for n in log[key]:
            data.write('%s' % ((n)))
        data.write("\n")
    data.close()
    sys.exit(1)

def main():

    capture()

if __name__ == "__main__":
    main()
是包含所有环境变量及其值的映射。

当然,请签出

matan@swarm ~ $ python
Python 2.7.2+ (default, Jan 20 2012, 17:51:10) 
[GCC 4.6.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> print os.environ
{'LOGNAME': 'matan', 'WINDOWID': '25165833', 'DM_CONTROL': '/var/run/xdmctl', 'PATH': '/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games', 'DISPLAY': ':0', 'SSH_AGENT_PID': '3648', 'LANG': 'en_GB.UTF-8', ... }