result = execCmd(cmd)
pat1 =
"Physical Address[\. ]+: ([\w-]+)"
pat2 =
"IP Address[\. ]+: ([\.\d]+)"
MAC = re.findall(pat1, result)[
0
]
IP = re.findall(pat2, result)[
0
]
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 编码显示出来。