学习了一下python中使用adb命令的方法
2018-01-02 15:28
567 查看
在python中使用adb命令,可以导入os模块。
1 简单的adb命令。
如:os.system('adb version')
2 稍微复杂的adb命令。
如:os.system('adb shell "dumpsys activity | grep "mFocusedActivity""')
3 希望将adb读出的内容保存。
如:out = os.popen('adb shell "dumpsys activity | grep "mFocusedActivity""').read()
总结一下:os.system不支持读取, os.popen支持读取。
下面有一个转来的脚本,学习一下:
import os
import re
os.system('adb version')
os.system('adb devices') #os.system是不支持读取操作的
out = os.popen('adb shell "dumpsys activity | grep "mFocusedActivity""').read() #os.popen支持读取操作
print(out)
#下面的代码是获取当前窗口的component参数
def getFocusedPackageAndActivity():
pattern = re.compile(r"[a-zA-Z0-9\.]+/[a-zA-Z0-9\.]+") #这里使用了正则表达式,对输出的内容做了限制,只会显示类似"com.mediatek.factorymode/com.mediatek.factorymode.FactoryMode"的字符串
out = os.popen("adb shell dumpsys window windows | findstr \/ | findstr name=").read() #window下使用findstr
list = pattern.findall(out)
component = list[0] #输出列表中的第一条字符串
return component
print(getFocusedPackageAndActivity())
1 简单的adb命令。
如:os.system('adb version')
2 稍微复杂的adb命令。
如:os.system('adb shell "dumpsys activity | grep "mFocusedActivity""')
3 希望将adb读出的内容保存。
如:out = os.popen('adb shell "dumpsys activity | grep "mFocusedActivity""').read()
总结一下:os.system不支持读取, os.popen支持读取。
下面有一个转来的脚本,学习一下:
import os
import re
os.system('adb version')
os.system('adb devices') #os.system是不支持读取操作的
out = os.popen('adb shell "dumpsys activity | grep "mFocusedActivity""').read() #os.popen支持读取操作
print(out)
#下面的代码是获取当前窗口的component参数
def getFocusedPackageAndActivity():
pattern = re.compile(r"[a-zA-Z0-9\.]+/[a-zA-Z0-9\.]+") #这里使用了正则表达式,对输出的内容做了限制,只会显示类似"com.mediatek.factorymode/com.mediatek.factorymode.FactoryMode"的字符串
out = os.popen("adb shell dumpsys window windows | findstr \/ | findstr name=").read() #window下使用findstr
list = pattern.findall(out)
component = list[0] #输出列表中的第一条字符串
return component
print(getFocusedPackageAndActivity())
相关文章推荐
- Python学习第五天----tar命令及vim编辑器使用及硬盘分区方法
- python学习五:执行linux命令的两种方法、提高运行效率、进制转换、切片详解、ip和mac获取
- Python学习23:函数装饰器的使用(方法重用)
- python中使用shell命令的输出作为其变量的方法
- Android学习总结一:adb的使用、打电话、Button监听两种方法、发短信、ADT23.0.2版本兼容问题
- liun系统命令大全学习笔记(附加命令使用方法)
- ADB使用方法及常用命令
- 从Monkey源码里学习几个adb shell命令和monekey日志的查阅方法
- WIN环境使用python命令提示“不是内部或外部命令”解决方法
- Linux学习之CentOS(十二)--crontab命令的使用方法
- python网络爬虫学习(三)正则表达式的使用之re.match方法
- 【Android】学习笔记(10)——adb使用方法
- Android下SQLite数据库学习笔记4——SQLite3工具的使用&用Genymotion模拟器时,在命令行上使用不了adb命令
- Android 使用adb shell命令时出现sqlite3 : not found 问题 解决方法
- adb上使用cp命令的替代方法(failed on '***' - Cross-device link解决方法)
- python 调用shell命令三种方法 分类: python基础学习 python Module 2014-01-13 14:13 239人阅读 评论(0) 收藏
- SQL学习:mysql数据库备份和使用日志恢复+python调用mysql方法(4)
- Linux学习随手记(1) find命令的最简单的使用方法
- Android学习 - adb命令使用
- Python学习笔记--help命令使用