一、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()方法不仅执行命令而且返回执行后的信息对象(常用于需要获取执行命令后的返回信息),是通过一个管道文件将结果返回。

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管道,获取子进程的执行的返回信息。

最新文章

  1. 【jQuery小实例】js 插件 查看图片
  2. label、input、table标签
  3. 服务器控件和 viewstate
  4. Linux环境下apache性能测试工具ab使用详解
  5. UVa1589 象棋
  6. Oracle数据库中的违规策略规则的修正
  7. 暑假集训(3)第二弹 -----Jungle Roads(Hdu1301)
  8. hdu2222Keywords Search
  9. PHP中使用CURL(六)
  10. 把div 当文字来进行布局控制
  11. SVG文本
  12. [linux]孤儿进程与僵尸进程
  13. FSPageContentView这个库需要修改源码才能用,否则有黑屏bug
  14. Spring 使用介绍(七)—— Spring事务
  15. 游戏UI规范
  16. 4. Tensorflow的Estimator实践原理
  17. Mybatis中映射器实现方式总结
  18. UE4里的自定义深度功能
  19. Java 多线程(五)之 synchronized 的使用
  20. 第2章 Python基础-字符编码&数据类型 字符编码&字符串 练习题

热门文章

  1. Java实现自定义注解开发
  2. shadertoy使用教程
  3. opencv---(腐蚀、膨胀、边缘检测、轮廓检索、凸包、多边形拟合)
  4. 【TencentOS tiny】深度源码分析(5)——信号量
  5. 一起学Android之Xml与Json解析
  6. 简约清新日系你好五月通用PPT模板推荐
  7. opencv-python 图像基础处理(二)
  8. Oracle数据库创建只读用户
  9. MySQL数据库:在命令提示符中使用mysql
  10. 201871010136-赵艳强《面向对象程序设计(java)》第一周学习总结