result = execCmd(cmd) pat1 = "Physical Address[\. ]+: ([\w-]+)" pat2 = "IP Address[\. ]+: ([\.\d]+)" MAC = re.findall(pat1, result)[ 0 ] # 找到MAC IP = re.findall(pat2, result)[ 0 ] # 找到IP print( "MAC=%s, IP=%s" %(MAC, IP))

运行结果:

E:\Program\Python>del.py  
MAC=00-1B-77-CD-62-2B, IP=192.168.1.110  
E:\Program\Python>  

python执行系统命令后获取返回值的几种方式

第一种情况

os.system('ps aux')  

执行系统命令,没有返回值
第二种情况

result = os.popen('ps aux')  
      res = result.read()  
      for line in res.splitlines():  
              print line  

执行系统命令,可以获取执行系统命令的结果

p = subprocess.Popen('ps aux',shell=True,stdout=subprocess.PIPE)  
   out,err = p.communicate()  
   for line in out.splitlines():  
       print line  

同上,执行系统命令,可以获取执行系统命令的结果
第三种情况

output = commands.getstatusoutput('ps aux')  
print  output  

执行系统命令,并获取当前函数的返回值

python获取命令行输出结果,并对结果进行过滤找到自己需要的!这里以获取本机MAC地址和IP地址为例!# coding: GB2312 import os, re # execute command, and return the output def execCmd(cmd): r = os.popen(cmd) text = r.read()...
将一条命令的执行结果取得命令执行结果的值有: 1、使用反引号`` (数字键1左边的键,tab键上面,英文方式输入) 如:a=echo "hello world";即将命令 echo "hello world"的 输出 赋给变量a2、可以使用 (()),如:a=(()),如:a=(()),如:a=(echo “hello world”),即将命令echo "hello world"的 输出 赋给变量a。
在c程序中,system函数可以运行 命令行 ,但是只能得到该 命令行 的int型返回值,并不能获得显示结果。例如system(“ls”)只能得到0或非0,如果要获得ls的执行结果,则要通过管道来完成的。首先用popen打开一个 命令行 的管道,然后通过fgets获得该管道传输的内容,也就是 命令行 运行的结果 在linux上运行的例子如下: void executeCMD(const char *cmd, ch...
python 中得到shell命令 输出 的方法:1.import subprocessoutput = subprocess.Popen(['ls','-l'],stdout=subprocess.PIPE,shell=True).commun icate() print output[0]2.import commandsreturn_code, output = commands.getstatus
如果你想在 Python 获取 命令行 输出结果 并以 GBK 编码显示,可以使用 `subprocess` 模块和 `decode()` 方法。以下是一个示例代码: ``` python import subprocess cmd = 'dir' # 命令行 命令 p = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) stdout, stderr = p.communicate() # 输出 命令行 标准 输出结果 (以GBK编码显示) print(stdout.decode('gbk')) 在上面的代码中,我们使用 `subprocess.Popen()` 方法来执行 命令行 命令,并使用 `stdout` 和 `stderr` 属性分别 获取 标准 输出 和标准错误 输出结果 。最后,我们使用 `decode()` 方法将 输出结果 以 GBK 编码显示出来。