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 相关文章推荐
python批量同步web服务器代码核心程序
Sep 01 Python
python实现调用其他python脚本的方法
Oct 05 Python
用Python给文本创立向量空间模型的教程
Apr 23 Python
深入解读Python解析XML的几种方式
Feb 16 Python
python基础教程之五种数据类型详解
Jan 12 Python
Flask框架工厂函数用法实例分析
May 25 Python
python模拟键盘输入 切换键盘布局过程解析
Aug 15 Python
Python socket非阻塞模块应用示例
Sep 12 Python
PyQt5中QTableWidget如何弹出菜单的示例代码
Feb 23 Python
什么是python的必选参数
Jun 21 Python
宝塔面板成功部署Django项目流程(图文)
Jun 22 Python
如何用 Python 处理不平衡数据集
Jan 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 提速工具eAccelerator 配置参数详解
2010/05/16 PHP
探讨捕获php错误信息方法的详解
2013/06/09 PHP
php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错
2015/12/07 PHP
CodeIgniter针对数据库的连接、配置及使用方法
2016/03/03 PHP
PHP实现文件上传下载实例
2016/10/18 PHP
PHP中上传文件打印错误错误类型分析
2019/04/14 PHP
JS 时间显示效果代码
2009/08/23 Javascript
用于节点操作的API,颠覆原生操作HTML DOM节点的API
2010/12/11 Javascript
jQuery学习笔记之jQuery的事件
2010/12/22 Javascript
js特效,页面下雪的小例子
2013/06/17 Javascript
checkbox选中与未选中判断示例
2014/08/04 Javascript
JavaScript获取URL汇总
2015/06/08 Javascript
浅谈javascript中的Function和Arguments
2016/08/30 Javascript
jQuery 选择器(61种)整理总结
2016/09/26 Javascript
微信小程序实现轮播图效果
2017/09/07 Javascript
Vue 页面跳转不用router-link的实现代码
2018/04/12 Javascript
解决layer弹出层中表单不起作用的问题
2019/09/09 Javascript
JS实现简单的表格增删
2020/01/16 Javascript
vue项目中js-cookie的使用存储token操作
2020/11/13 Javascript
精确查找PHP WEBSHELL木马的方法(1)
2011/04/12 Python
python django使用haystack:全文检索的框架(实例讲解)
2017/09/27 Python
Python获取CPU、内存使用率以及网络使用状态代码
2018/02/08 Python
selenium+python自动化测试之鼠标和键盘事件
2019/01/23 Python
Dlib+OpenCV深度学习人脸识别的方法示例
2019/05/14 Python
详解Django 时间与时区设置问题
2019/07/23 Python
python3用urllib抓取贴吧邮箱和QQ实例
2020/03/10 Python
Python类的动态绑定实现原理
2020/03/21 Python
如何通过Python3和ssl实现加密通信功能
2020/05/09 Python
New Balance澳大利亚官网:运动鞋和健身服装
2019/02/23 全球购物
英国高级健康和美容产品零售商:Life and Looks
2019/08/01 全球购物
百货商场楼层班组长竞聘书
2014/03/31 职场文书
2014年学校食堂工作总结
2014/11/25 职场文书
试用期旷工辞退通知书
2015/04/17 职场文书
PHP面试题 wakeup魔法 Ezpop pop序列化与反序列化
2022/04/11 PHP
Spring Cloud Netflix 套件中的负载均衡组件 Ribbon
2022/04/13 Java/Android
Win10开机修复磁盘错误怎么跳过?Win10关闭开机磁盘检查的方法
2022/09/23 数码科技