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 相关文章推荐
使用setup.py安装python包和卸载python包的方法
Nov 27 Python
进一步了解Python中的XML 工具
Apr 13 Python
python Socket之客户端和服务端握手详解
Sep 18 Python
浅谈Python在pycharm中的调试(debug)
Nov 29 Python
python进行TCP端口扫描的实现
Dec 21 Python
python实现狄克斯特拉算法
Jan 17 Python
python中时间模块的基本使用教程
May 14 Python
你需要学会的8个Python列表技巧
Jun 24 Python
python3.7添加dlib模块的方法
Jul 01 Python
python实现测试工具(二)——简单的ui测试工具
Oct 19 Python
python中time.ctime()实例用法
Feb 03 Python
浅谈Python中对象是如何被调用的
Apr 06 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
德劲1107的电路分析与打磨
2021/03/02 无线电
十天学会php之第一天
2006/10/09 PHP
php 执行系统命令的方法
2009/07/07 PHP
在IIS7.0下面配置PHP 5.3.2运行环境的方法
2010/04/13 PHP
php发送get、post请求的6种方法简明总结
2014/07/08 PHP
php实现从上传文件创建缩略图的方法
2015/04/02 PHP
php-msf源码详解
2017/12/25 PHP
DIY jquery plugin - tabs标签切换实现代码
2010/12/11 Javascript
ztree获取当前选中节点子节点id集合的方法
2015/02/12 Javascript
JavaScript多线程详解
2015/08/12 Javascript
JS实现左右拖动改变内容显示区域大小的方法
2015/10/13 Javascript
jQuery选择器用法实例详解
2015/12/17 Javascript
AngularJS辅助库browserTrigger用法示例
2016/11/03 Javascript
浅谈jquery页面初始化的4种方式
2016/11/27 Javascript
jquery mobile移动端幻灯片滑动切换效果
2020/04/15 Javascript
nodejs利用ajax实现网页无刷新上传图片实例代码
2017/06/06 NodeJs
浅谈React Native Flexbox布局(小结)
2018/01/08 Javascript
nodejs基于WS模块实现WebSocket聊天功能的方法
2018/01/12 NodeJs
vue如何实现自定义底部菜单栏
2019/07/01 Javascript
JS中如何轻松遍历对象属性的方式总结
2019/08/06 Javascript
JavaScript中继承原理与用法实例入门
2020/05/09 Javascript
jQuery实现移动端扭蛋机抽奖
2020/11/08 jQuery
python dataframe 输出结果整行显示的方法
2018/06/14 Python
python plotly绘制直方图实例详解
2019/07/22 Python
python 利用toapi库自动生成api
2020/10/19 Python
法国滑雪假期的专家:Ski Planet
2019/11/02 全球购物
新年爱情寄语
2014/04/08 职场文书
上海世博会口号
2014/06/19 职场文书
大专应届毕业生求职信
2014/07/15 职场文书
2014党员四风对照检查材料思想汇报
2014/09/17 职场文书
公务员党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
爱护环境建议书
2015/09/14 职场文书
七年级作文之我的梦想
2019/10/16 职场文书
Nginx 根据URL带的参数转发的实现
2021/04/01 Servers
解决Go gorm踩过的坑
2021/04/30 Golang
SpringBoot项目中控制台日志的保存配置操作
2021/06/18 Java/Android