一、os.system方法
在子终端运行系统命令,可以获取命令执行后的返回信息以及执行返回的状态。执行后返回两行结果,第一行是结果, 第二行是执行状态信息,如果命令成功执行,这条语句返回0,否则返回1。

import os
print(os.system('date'))


由于python3默认采用了UTF-8编码,而WIN8的CMD窗口采用的是GBK编码,导致了编码不同。

但是,如果简单的通过encode(‘gbk’)之类的方法,不能解决根本问题。

尤其是当我们根本不是使用print命令来输出,而是控制台默认输出的情况下,是没办法修改os.system的编码格式的,因为os.system执行命令返回的并不是命令中出现的文本,而是一个int,为0时表示成功,为1时表示异常。

Pycharm下的解决方法:


二、os.popen方法

os.popen()方法不仅执行命令而且返回执行后的信息对象(常用于需要获取执行命令后的返回信息),是通过一个管道文件将结果返回。

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
import os
os.popen()



三、commands模块

说明
getoutput 获取执行命令后的返回信息
getstatus 获取执行命令的状态值(执行命令成功返回数值0,否则返回非0)
getstatusoutput 获取执行命令的状态值以及返回信息


注意1:在类unix的系统下使用此方法返回的返回值(status)与脚本或命令执行之后的返回值不等,这是因为调用了os.wait()的缘故,具体原因就得去了解下系统wait()的实现了。需要正确的返回值(status),只需要对返回值进行右移8位操作就可以了。

注意2:当执行命令的参数或者返回中包含了中文文字,那么建议使用subprocess。

四、subprocess模块

subprocess模块运用对线程的控制和监控,将返回的结果赋于一变量,便于程序的处理。

subprocess模块是python从2.4版本开始引入的模块。主要用来取代 一些旧的模块方法,如os.system、os.spawn*、os.popen*、commands.*等。subprocess通过子进程来执行外部指令,并通过input/output/error管道,获取子进程的执行的返回信息。

Python执行系统命令的四种方法相关推荐

  1. python 命令-Python中执行系统命令的四种方法

    一.os.system方法 在子终端运行系统命令,可以获取命令执行后的返回信息以及执行返回的状态.执行后返回两行结果,第一行是结果, 第二行是执行状态信息,如果命令成功执行,这条语句返回0,否则返回1 ...

  2. Python调用JS的四种方法

    Python调用JS的四种方法 1.PyExecJS 方法 1).安装PyExecJS 2). `PyExecJS 示例` 2.PyV8 方法 1).安装PyV8 2). `PyV8 示例` 3.js ...

  3. Python 数据降噪处理的四种方法——均值滤波、小波变换、奇异值分解、改变binSize

    Python 数据降噪处理的四种方法--均值滤波.小波变换.奇异值分解.改变binSize github主页:https://github.com/Taot-chen 一.均值滤波 1)算法思想 给定 ...

  4. 用python打开浏览器的四种方法

    python打开浏览器的四种方法 1.system方法 import os os.system(r'C:\"Program Files (x86)"\"Google&qu ...

  5. Linux开机自动化执行脚本的四种方法(真实案例分享)

    Linux开机自动化执行脚本的四种方法(真实案例分享) 最近眼睛有点疼,可能是长时间面对电脑屏幕的原因罢.百度后安装了Redshift这款护眼工具,只要事先写好配置文件它会根据你的地理位置自动调节屏幕 ...

  6. Java创建并执行线程的四种方法

    Java创建并执行线程的四种方法 java里面创建线程有四种方式: 无返回: 实现Runnable接口,重写run(); 继承Thread类,重写run(); 有返回: 实现Callable接口,重写 ...

  7. python调用系统命令的6种方法

    文章目录 1.os.system 2.os.popen(command,mode) 3.subprocess模块 3.1 subprocess.Popen() 3.2 subprocess.call( ...

  8. python用字典存储学生信息网_用Python存储字典的四种方法

    0.直接字典和被字符串包裹的字典 d = {'技术': {'后端开发': ['Java', 'C++', 'PHP'], '移动开发': ['HTML5', 'JavaScrpit']},'产品':{ ...

  9. Python 导入模块的四种方法(超详细)

    使用import调用模块 可以调用第三方库和标准库,以及自己做的,自己做的import+py文件名就可以了,我们使用requests第三方库举例: import requests# #导入reques ...

最新文章

  1. 不要再new一个对象了!程序员脱离单身秘籍
  2. 判断网页pdf还是html,html5 – 如何知道PDF.JS是否完成渲染?
  3. Request header field Content-Type is not allowed by Access-Control-Allow-Headers跨域
  4. 在域驱动设计中使用状态模式
  5. 前端学习(3227):回调形式的ref的调用次数
  6. git 历史操作日志_Git - 查看提交历史
  7. MindSpore21天实战营丨基于MindSpore的ResNet-50蘑菇“君”的识别应用体验
  8. imToken 测评通关攻略
  9. OpenCV图像处理(2)——形态学操作
  10. Harmony OS — TimePicker时间选择器
  11. 【数据预测】基于matlab双向长短时记忆(biLSTM)数据预测【含Matlab源码 1793期】
  12. 2021ACA世界大赛线上全球总决赛,绽放中国创意设计色彩
  13. 【音乐可视化】音乐表演可视化软件分析
  14. Java对象转Map,Map转对象
  15. latex审阅时添加行号
  16. (翻译)简化模式(Reduce)
  17. 印度要被宰 俄售印的航母和苏-30战斗机涨价!zt
  18. 用计算机处理机读卡上,改卷子和登分程序及其注意事项以及一些操作
  19. 内齿轮铣齿机铣削动力头的设计(论文+CAD图纸)
  20. uni-app 学习笔记 黑马优购商城

热门文章

  1. BGWN项目轶事之主导Global Weekly Meeting
  2. WindDbug应用
  3. 阶乘与斐波那契数的理解
  4. PHP中调用Java类的两个办法
  5. 【MM模块】RFQ 采购询价单
  6. ABAP销售合同删除Bapi
  7. 根据当前时间如何找到上月的第一天和最后一天?
  8. sap*/pass无法登陆
  9. 数智工厂是如何炼成的?从最佳实践案例找答案
  10. 做好新型冠状病毒防疫 |春节第一重任:说服爸妈带口罩