【问题标题】:python capture environment variablespython捕获环境变量
【发布时间】:2012-02-02 11:05:45
【问题描述】:

这个 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()

【问题讨论】:

    标签: python linux bash


    【解决方案1】:

    好的,请查看os.environ

    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', ... }
    

    【讨论】:

      【解决方案2】:

      os.environ 是一个包含所有环境变量及其值的映射。

      【讨论】:

        猜你喜欢
        • 2012-02-25
        • 1970-01-01
        • 2014-09-30
        • 2014-06-04
        • 1970-01-01
        • 2016-05-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多