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计算程序开始到程序结束的运行时间和程序运行的CPU时间
Nov 28 Python
分析在Python中何种情况下需要使用断言
Apr 01 Python
Python实现从脚本里运行scrapy的方法
Apr 07 Python
Python内置函数reversed()用法分析
Mar 20 Python
python DataFrame获取行数、列数、索引及第几行第几列的值方法
Apr 08 Python
浅析python的Lambda表达式
Feb 27 Python
python实现列表中最大最小值输出的示例
Jul 09 Python
python求绝对值的三种方法小结
Dec 04 Python
python3获取文件中url内容并下载代码实例
Dec 27 Python
windows上彻底删除jupyter notebook的实现
Apr 13 Python
pyecharts调整图例与各板块的位置间距实例
May 16 Python
分享一枚pycharm激活码适用所有pycharm版本我的pycharm2020.2.3激活成功
Nov 20 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
杏林同学录(五)
2006/10/09 PHP
PHP5 安装方法
2007/01/15 PHP
解析coreseek for sphinx的使用
2013/06/21 PHP
php中require和require_once的区别说明
2014/02/27 PHP
PHP中的日期加减方法示例
2014/08/21 PHP
asp.net下使用jquery 的ajax+WebService+json 实现无刷新取后台值的实现代码
2010/09/19 Javascript
[JSF]使用DataModel处理表行事件的实例代码
2013/08/05 Javascript
Jquery通过Ajax访问XML数据的小例子
2013/11/18 Javascript
javaScript如何生成xmlhttp
2013/12/16 Javascript
JavaScript中innerHTML,innerText,outerHTML的用法及区别
2015/09/01 Javascript
Bootstrap多级导航栏(级联导航)的实现代码
2016/03/08 Javascript
动态JavaScript所造成一些你不知道的危害
2016/09/25 Javascript
JavaScript中offsetWidth的bug及解决方法
2017/05/17 Javascript
angularjs实现上拉加载和下拉刷新数据功能
2017/06/12 Javascript
vue实现商城上货组件简易版
2017/11/27 Javascript
通过npm或yarn自动生成vue组件的方法示例
2019/02/12 Javascript
通过实例解析js简易模块加载器
2019/06/17 Javascript
vue 验证码界面实现点击后标灰并设置div按钮不可点击状态
2019/10/28 Javascript
js+for循环实现字符串自动转义的代码(把后面的字符替换前面的字符)
2020/12/24 Javascript
微信小程序选择图片控件
2021/01/19 Javascript
详解js创建对象的几种方式和对象方法
2021/03/01 Javascript
简单介绍Python中的readline()方法的使用
2015/05/24 Python
Python编程实现粒子群算法(PSO)详解
2017/11/13 Python
python3 面向对象__类的内置属性与方法的实例代码
2018/11/09 Python
详解python itertools功能
2020/02/07 Python
python输出第n个默尼森数的实现示例
2020/03/08 Python
基于Python绘制个人足迹地图
2020/06/01 Python
JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
2015/10/22 面试题
四年的个人工作自我评价
2013/12/10 职场文书
给物业的表扬信
2014/01/21 职场文书
个人剖析材料及整改措施
2014/10/07 职场文书
上班迟到检讨书范文
2015/05/06 职场文书
小王子读书笔记
2015/06/29 职场文书
PHP中->和=>的意思
2021/03/31 PHP
Python初识逻辑与if语句及用法大全
2021/08/07 Python
JMeter对MySQL数据库进行压力测试的实现步骤
2022/01/22 MySQL