大家好,我想知道如何将os.system
结果存储在变量
因为我们知道它返回0
所以我想知道我应该怎么做来存储结果
和第二个问题:如何在Linux中获取ip [有人会建议ifconfig
],但是ifconfig
显示了如此多的结果我只是想知道IP
答案 0 :(得分: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
答案 1 :(得分:1)
因为你的第一个问题是一个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])
答案 2 :(得分:0)
您好您可以创建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