Python3 执行系统命令并获取实时回显功能


Posted in Python onJuly 09, 2019

下面先给大家介绍下Python3 执行系统命令并获取实时回显

最近在改造一些打包的逻辑,原来在 Windows 下是基于批处理制作的,由于批处理用起来不是很方便,一些实时的计算基本无法胜任,所以转向 Python3。但在以前脚本的基础上很多是需要调用系统命令的比如 VS 编译一个项目,我们需要获取实时的回显知道编译的结果和进度。所以就有了以下方法:

@staticmethod
def __external_cmd(cmd, code="utf8"):
  print(cmd)
  process = subprocess.Popen(cmd, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
  while process.poll() is None:
    line = process.stdout.readline()
    line = line.strip()
    if line:
      print(line.decode(code, 'ignore'))

在使用时直接调用 __external_cmd 方法,传入你要执行的系统命令,根据回显内容设置以下编码就可以了。这样用起来还是比较方便的。

ps:下面看下Python执行系统命令并获得输出的几种方法

方法一:

import os
p = os.popen('uptime')
x=p.read()
print x

方法二:

import subprocess
res = subprocess.Popen('uptime',shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE,close_fds=True)
result = res.stdout.readlines()

总结

以上所述是小编给大家介绍的Python3 执行系统命令并获取实时回显功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
Matplotlib中文乱码的3种解决方案
Nov 15 Python
windows7 32、64位下python爬虫框架scrapy环境的搭建方法
Nov 29 Python
python实现扫描ip地址的小程序
Apr 16 Python
python飞机大战pygame碰撞检测实现方法分析
Dec 17 Python
Django框架models使用group by详解
Mar 11 Python
django模板获取list中指定索引的值方式
May 14 Python
pycharm 添加解释器的方法步骤
Aug 31 Python
浅析Python requests 模块
Oct 09 Python
python 装饰器的使用示例
Oct 10 Python
Python对excel的基本操作方法
Feb 18 Python
python 如何将两个实数矩阵合并为一个复数矩阵
May 19 Python
关于python爬虫应用urllib库作用分析
Sep 04 Python
利用python开发app实战的方法
Jul 09 #Python
python设置环境变量的作用和实例
Jul 09 #Python
python版百度语音识别功能
Jul 09 #Python
利用Python实现Shp格式向GeoJSON的转换方法
Jul 09 #Python
python实现集中式的病毒扫描功能详解
Jul 09 #Python
python 图片去噪的方法示例
Jul 09 #Python
python 使用plt画图,去除图片四周的白边方法
Jul 09 #Python
You might like
如何判断php mysqli扩展类是否开启
2016/12/24 PHP
PHP的mysqli_stmt_init()函数讲解
2019/01/24 PHP
PHP与Web页面的交互示例详解二
2020/08/04 PHP
Javascript !!的作用
2008/12/04 Javascript
基于JavaScript实现表单密码的隐藏和显示出来
2016/03/02 Javascript
Javascript使用uploadify来实现多文件上传
2016/11/16 Javascript
Bootstrap导航简单实现代码
2017/03/06 Javascript
ES6新特性之字符串的扩展实例分析
2017/04/01 Javascript
Vue2.0 UI框架ElementUI使用方法详解
2017/04/14 Javascript
js分页之前端代码实现和请求处理
2017/08/04 Javascript
Vue-Router实现组件间跳转的三种方法
2017/11/07 Javascript
vue首次赋值不触发watch的解决方法
2018/09/11 Javascript
web页面和微信小程序页面实现瀑布流效果
2018/09/26 Javascript
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
2019/07/03 jQuery
详解mpvue实现对苹果X安全区域的适配
2019/07/31 Javascript
nodejs环境使用Typeorm连接查询Oracle数据
2019/12/05 NodeJs
详解JavaScript中的Object.is()与"==="运算符总结
2020/06/17 Javascript
简单介绍Python中的struct模块
2015/04/28 Python
PyTorch之图像和Tensor填充的实例
2019/08/18 Python
keras 多gpu并行运行案例
2020/06/10 Python
详解CSS3中的box-sizing(content-box与border-box)
2019/04/19 HTML / CSS
CSS Houdini实现动态波浪纹效果
2019/07/30 HTML / CSS
解决H5的a标签的download属性下载service上的文件出现跨域问题
2019/07/16 HTML / CSS
Spartoo比利时:欧洲时尚购物网站
2017/12/06 全球购物
.net开发工程师面试题
2014/02/25 面试题
网络技术支持面试题
2013/04/22 面试题
新闻学专业应届生求职信
2013/11/08 职场文书
药品质量检测应届生求职信
2013/11/14 职场文书
机电一体化专业应届生求职信
2013/11/27 职场文书
土木工程求职信
2014/05/29 职场文书
中秋节晚会开场白
2015/05/29 职场文书
小学生暑假生活总结
2015/07/13 职场文书
聘任协议书(挂靠)
2015/09/21 职场文书
爱心捐款倡议书:点燃希望,传递温暖
2019/11/04 职场文书
Python爬虫基础初探selenium
2021/05/31 Python
一定要知道的 25 个 Vue 技巧
2021/11/02 Vue.js