利用python语句执行终端命令os.sys('cmd')&&os.popen('cmd')
应用场景:在python文件中执行shell/终端命令
两种方法:
import os
- os.sys('cmd')
- file_object = os.popen('cmd')
两者区别:
- os.sys('cmd') 执行成功返回0,失败返回1,命令不存在报错;
- os.popen('cmd') 执行成功返回 返回文件对象,文件内容是命令行的执行结果
- os.system 调用系统命令,完成后退出,返回结果是命令执行状态,一般是0;
- os.popen 可以实现一个“管道”,从这个命令获取的值可以在python中继续被使用;
os.popen使用语法如下:
cmd_result = os.popen('CMD').readlines()[0]
或者 cmd_result = os.popen('cat /proc/cpuinfo').read() 或则 for line in os.popen('cat /proc/cpuinfo'): print(line)
Demo:
# -*- coding: utf-8 -*-import osimport re# 执行jmeter脚本cmd = "~/uctest/apache-jmeter-2.11/bin/jmeter -n -t ~/uctest/jmx/UC_ORG.jmx"tmp = os.popen(cmd).read()print(tmp)# 输出执行结果regex = re.compile('summary = .*?\(0.00%\)', re.S)result = re.findall(regex, tmp)if len(result) > 0: print("successed") exit(0)else: print("failed") exit(1)