Fork me on GitHub

在python文件中执行shell/终端命令

利用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 os
import 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)
posted @ 2019-06-19 00:26  路痴队长  阅读(6621)  评论(0编辑  收藏  举报