【问题标题】:store Os.system result in variable将 Os.system 结果存储在变量中
【发布时间】:2011-06-08 09:20:00
【问题描述】:

大家好,我想知道如何将os.system 结果存储在变量中

我们知道它是返回 0

所以我想知道我应该如何存储结果

第二个问题:如何在 Linux 中获取 ip [有人会建议 ifconfig] 但是 ifconfig 显示这么多结果我只是想 IP

【问题讨论】:

  • 每个问题一个问题。

标签: python linux variables os.system


【解决方案1】:
import os
from subprocess import *

def run_cmd(cmd):
        p = Popen(cmd, shell=True, stdout=PIPE)
        output = p.communicate()[0]
        return output

关于第二个问题,见http://www.cyberciti.biz/tips/read-unixlinux-system-ip-address-in-a-shell-script.html

【讨论】:

  • 我不确定我是否对 'from subprocess import *' Bemmu 感到疯狂。
【解决方案2】:

由于你的第一个问题是python问题,这里是如何使用python获取linux中的IP地址:

import socket
import fcntl
import struct

ifname='eth0'
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
address = socket.inet_ntoa(fcntl.ioctl(
                    s.fileno(),
                    0x8915,  # SIOCGIFADDR
                    struct.pack('256s', ifname[:15])
                    )[20:24])

【讨论】:

    【解决方案3】:

    您好,您可以创建 Subprocess.pipe 并打印 ifconfig 的输出 这是 Ref 的代码:

    import os
    import subprocess
    from subprocess import *
    subprocess.call(["ifconfig","en0”])
    p=subprocess.Popen(["ifconfig","en0"],stdout=subprocess.PIPE)
    for line in p.stdout:
        print line
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多