第一条记录

文章目录

python如何调用adb命令

       1、 adb了解
       2、python使用
             os库
             subprocess库
        3、控制台输出写入到文件里

1、adb:
如果你是小白可以了解一下下方链接,有adb介绍、下载、环境变量配置还有常用命令,自己去看吧!
链接:adb小白文档

2、python使用

os库:

  • 库:import os
  • 使用命令:os.system(’ ')
  • 缺点:每次使用一下os.system(’ ')命令,就会弹出一个cmd窗口,直到命令执行完毕后才关闭,如果内容比较多的话很麻烦
import os
#adb shell xxx的封装
def execute(cmd):
    adbShell = "adb shell {cmdStr}"
    str = adbShell.format(cmdStr=cmd)
    print(str)
    os.system(str)


if __name__ == '__main__':
    # 完整命令的
    os.system("adb shell input keyevent 4")
    # adb shell xxx的封装
    execute("input keyevent 4")

subprocess库

  • 库:import subprocess
  • 使用命令:subprocess.run(‘ ',shell = True)
  • 特点:解决os库的问题,cmd窗口静默后台执行,不会弹出来烦人。(默认shell = True)表示命令将通过shell执行。
import subprocess

if __name__ == '__main__':
    for i in range(50):
        subprocess.run("adb shell input keyevent 4",shell=True)
        print(i)

PS:python之subprocess模块详解

3、将控制台输出写入到文件中,第二种代码没怎么明白,有懂的下面评论哦!
第一种:

import subprocess
#开一个进程运行,r收集到返回值,r的类型是字节
r = subprocess.Popen(['python','tmp_py.py'],stdout=subprocess.PIPE).communicate()[0]
//subprocess.PIPE:利用subprocess实现管道(pipe)交互操作读/写通信
//Popen.communicate()用来等待外部程序执行结束
#记录到文件中
with open('tmp_log.log', 'wb') as f:
	  f.write(r)

第二种:

#shell =True是关键,不然报错
import subprocess
subprocess.run('python tmp_py.py >> tmp_log.log', shell=True)

原文链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值