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实现统计代码行数的方法
May 22 Python
win10环境下python3.5安装步骤图文教程
Feb 03 Python
python将一个英文语句以单词为单位逆序排放的方法
Dec 20 Python
Python爬虫设置代理IP(图文)
Dec 23 Python
Python爬虫实现验证码登录代码实例
May 10 Python
django框架自定义模板标签(template tag)操作示例
Jun 24 Python
Django项目主urls导入应用中views的红线问题解决
Aug 10 Python
在Python中获取操作系统的进程信息
Aug 27 Python
基于matplotlib xticks用法详解
Apr 16 Python
Python3与fastdfs分布式文件系统如何实现交互
Jun 23 Python
在Python中字典按值排序的实现方法
Nov 12 Python
基于tensorflow __init__、build 和call的使用小结
Feb 26 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调用MySQL的存储过程的实现代码
2008/08/12 PHP
简单的PHP多图上传小程序代码
2011/07/17 PHP
php获取文章上一页与下一页的方法
2014/12/01 PHP
PHP排序算法之归并排序(Merging Sort)实例详解
2018/04/21 PHP
ext 同步和异步示例代码
2009/09/18 Javascript
js加入收藏夹代码(兼容ie/ff/op)
2014/05/16 Javascript
Node.js和MongoDB实现简单日志分析系统
2015/04/25 Javascript
深入浅析JavaScript中的Function类型
2016/07/09 Javascript
详解微信小程序 页面跳转 传递参数
2016/12/08 Javascript
javascript按钮禁用和启用的效果实例代码
2017/10/29 Javascript
vue将对象新增的属性添加到检测序列的方法
2018/02/24 Javascript
[原创]jquery判断元素内容是否为空的方法
2018/05/04 jQuery
从vue源码解析Vue.set()和this.$set()
2018/08/30 Javascript
vue主动刷新页面及列表数据删除后的刷新实例
2018/09/16 Javascript
基于vue2.0的活动倒计时组件countdown(附源码下载)
2018/10/09 Javascript
基于layui实现高级搜索(筛选)功能
2019/07/26 Javascript
使用Vue生成动态表单
2019/11/26 Javascript
Vue中实现回车键切换焦点的方法
2020/02/19 Javascript
vue 判断页面是首次进入还是再次刷新的实例
2020/11/05 Javascript
python中的实例方法、静态方法、类方法、类变量和实例变量浅析
2014/04/26 Python
Python 文件处理注意事项总结
2017/04/10 Python
Python字符串和字典相关操作的实例详解
2017/09/23 Python
Pandas Shift函数的基础入门学习笔记
2018/11/16 Python
pandas 透视表中文字段排序方法
2018/11/16 Python
如何在Django项目中引入静态文件
2019/07/26 Python
Python Numpy库常见用法入门教程
2020/01/16 Python
基于python实现计算两组数据P值
2020/07/10 Python
很酷的HTML5电子书翻页动画特效
2016/02/25 HTML / CSS
MANGO官方网站:西班牙芒果服装品牌
2017/01/15 全球购物
斯洛伐克最大的婴儿食品和用品网上商店:Feedo.sk
2020/12/21 全球购物
软件测试英文面试题
2012/10/14 面试题
初中学生评语大全
2014/04/24 职场文书
五一促销活动总结
2014/07/01 职场文书
党员民主生活会对照检查材料思想汇报
2014/09/28 职场文书
运动会跳远广播稿
2015/08/19 职场文书
Oracle 多表查询基本语法实例
2022/04/18 Oracle