1、os.popen、os.system subprocess?

背景:查看一个项目的代码,python获取连接到电脑的设备列表时,发现用到了os.popen和subprocess?故作简单了解和实践

一、os.popen、os.system

1、os.system  返回命令执行状态码,而将命令执行结果输出到屏幕;执行成功返回值为0

os.popen   返回 的是文件的对象 

>>> print os.system('adb devices')

List of devices attached

06157df6e2d18e3cdevice

0 #返回值为0

2、os.popen()可以获取命令执行结果,无法获取命令执行状态码;返回值是一个文件,后续可对文件进行读取

>>> print os.popen('adb devices')

<open file 'adb devices', mode 'r' at 0x1075cf5d0>  

>>> 

3、os.popen().readlines()继续读取文件

>>> print(os.popen("adb devices").readlines())

['List of devices attached\n', '06157df6e2d18e3c\tdevice\n', '\n']

二、subprocess :New in version 2.4.

subprocess.getstatusoutput:执行命令后返回一个元组(命令执行状态, 命令执行结果输出)

>>> subprocess.getstatusoutput("adb devices")

(0, 'List of devices attached\n06157df6e2d18e3c\tdevice\n')

英文文档:https://docs.python.org/2/library/subprocess.html

详细学习可参考文章:http://www.cnblogs.com/yyds/p/7288916.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容