We612

利用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)

分类:

技术点:

相关文章:

  • 2022-01-02
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-30
  • 2022-12-23
  • 2021-07-25
猜你喜欢
  • 2022-12-23
  • 2021-07-22
  • 2022-01-02
  • 2021-12-05
  • 2021-12-21
  • 2022-01-02
相关资源
相似解决方案