python中subprocess.Popen执⾏命令并持续获取返回值
先举⼀个Android查询连接设备的命令来看看Python中subprocess.Popen怎么样的写法。⽤到的命令为 adb devices。
python能在手机上运行吗 import subprocess
order='adb devices' #获取连接设备
pi= subprocess.Popen(order,shell=True,stdout=subprocess.PIPE)
print ad()#打印结果
命令的结果返回是⼀次性的,所以我们⽤read⽅法读取数据是没有问题的,然⽽adb命令⾥还有⼀些是实时返回结果的,⽐如输出⼿机⽇志的命令logcat,结果会不断的打印出来当前的设备操作⽇志信息内容,这种类型的命令我们在Python中如果需要获取打印结果,如果还是⽤read⽅法的话,等待结果的返回时间会⾮常长,这⾥我们就要换⼀种⽅法读取结果,写法如下。
import subprocess
order='adb logcat'
pi= subprocess.Popen(order,shell=True,stdout=subprocess.PIPE)
for i in iter(adline,'b'):
print i
这样的打印效果,如同cmd⾥操作⼀致,实时的打印出⽇志信息。这⾥我们就⽤到了readline⽅法和iter()函数,其实这种写法类似我们读取⽂件,单⾏读取和全部内容读取。
---------------------------------------------------------------------------------
关注即可在⼿机上查阅,并可接收更多测试分享~
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论