美文网首页
1、os.popen、os.system subprocess

1、os.popen、os.system subprocess

作者: 蜗牛有壳1112 | 来源:发表于2018-12-18 11:29 被阅读11次

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

    相关文章

      网友评论

          本文标题:1、os.popen、os.system subprocess

          本文链接:https://www.haomeiwen.com/subject/srvkkqtx.html