1、os.popen、os.system subprocess

2018-12-18  本文已影响11人  蜗牛有壳1112

背景:查看一个项目的代码,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

上一篇 下一篇

猜你喜欢

热点阅读