先举一个Android查询连接设备的命令来看看Python中subprocess.Popen怎么样的写法。用到的命令为 adb devices。

  import subprocess

  order='adb devices' #获取连接设备

  pi= subprocess.Popen(order,shell=True,stdout=subprocess.PIPE)

  print pi.stdout.read()#打印结果

命令的结果返回是一次性的,所以我们用read方法读取数据是没有问题的,然而adb命令里还有一些是实时返回结果的,比如输出手机日志的命令logcat,结果会不断的打印出来当前的设备操作日志信息内容,这种类型的命令我们在Python中如果需要获取打印结果,如果还是用read方法的话,等待结果的返回时间会非常长,这里我们就要换一种方法读取结果,写法如下。

  import subprocess

  order='adb logcat'

  pi=
subprocess.Popen(order,shell=True,stdout=subprocess.PIPE)

  for i in iter(pi.stdout.readline,'b'):

  print i

这样的打印效果,如同cmd里操作一致,实时的打印出日志信息。这里我们就用到了readline方法和iter()函数,其实这种写法类似我们读取文件,单行读取和全部内容读取。

最新文章

  1. Spring Data JPA @EnableJpaRepositories配置详解
  2. 用流来读取文件(getline,istringstream)
  3. dp px 转换工具
  4. 湖南省第十二届大学生计算机程序设计竞赛 A 2016
  5. Xcode模板修改
  6. javaweb学习总结十六(tomcat服务器的使用、虚拟目录的映射)
  7. 用python随机生成数据,再插入到postgresql中
  8. 百度apistore第三方登陆
  9. 用批处理编译*.sln工程
  10. vue学习之vue基本功能初探
  11. Dynamics 365 for CRM:修改ADFS的过期时间,TokenLifetime
  12. Mybatis分页插件——PageHelper
  13. [USACO18JAN]Sprinklers
  14. Jmeter-JDBC Request参数化
  15. 关于Linux 虚拟机如何才能ping 通外网
  16. Django学习手册 - 自定义simple_tag / filter
  17. linux export source
  18. 【题解】Luogu P1204 [USACO1.2]挤牛奶Milking Cows
  19. P1033自由落体
  20. 理解Backtracking

热门文章

  1. mysql索引长度
  2. android+nutz后台如何上传和下载图片
  3. vuejs样式绑定
  4. node执行环境
  5. Linux下C程序进程地址空间布局[转]
  6. 用keytool制作证书并在tomcat配置https服务(三)
  7. 曲率(Curvature)
  8. 《JavaScript高级程序设计第三版》——细碎知识痛点整理(第六章)
  9. JDBC-Hibernate-Mybatis
  10. C++编程经验总结1