os.popen()与os.system()的区别

我们在使用python编写脚本时,如果需要与设备进行交互,那么就需要利用python中的OS模块。OS模块提供了与操作系统进行交互的函数,它有os.popen()与os.system()两个常用的函数,今天我们来讲解下这2个函数的区别。

一、os.system()

用法: os.system(command)

参数:
command: 它是字符串类型,告诉执行哪个命令。

返回值:在Unix上,返回值是进程的退出状态;在Windows上,返回值是系统 shell 程序在运行命令后返回的值。返回结果为0表示执行成功;返回结果为1表示执行不成功。

注意:os.system是简单粗暴地执行cmd指令,cmd输出的内容会直接在控制台输出;如果想获取在cmd输出的内容,是没办法获到的

2、举例:

VALL = os.system('adb shell top -d 2 -n 1 -m 4')print(VALL)

二、os.popen()

1、如果想获取控制台输出的内容,那就用os.popen的方法了,popen返回的是一个file文件对象。此时就可以使用read();readline()等方式打开该文件对象。

popen()方法语法格式:

os.popen(command,mode)

参数:

  • command -- 使用的命令
  • mode -- 模式权限可以是 'r'(默认) 或 'w'。

2、实例

VALL = os.popen('adb shell top -d 2 -n 1 -m 4','r')# popen 返回的是一个file文件对象,那么就可以针对这个文件进行读写操作a = VALL.readline()print(a)

以上是这2个函数的区别,实际使用中可以多多对比练习哦。

区别   os   popen
发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章