Python调用adb命令实现对多台设备同时进行reboot的方法


Posted in Python onOctober 15, 2018

首先,adb实现对设备的reboot命令是:adb reboot . 但是如果是两台/多台设备的时候,需要声明serial number: adb -s serial_no reboot.

那么,如何用python实现对多台设备进行adb操作呢(reboot)?

这里涉及到 python 下 subprocess model的使用:

import subprocess

adb device 获取所有设备的 serial number:

devices = subprocess.Popen(
 'adb devices'.split(),
 stdout=subprocess.PIPE,
 stderr=subprocess.PIPE
).communicate()[0]

这样adb device命令的返回信息都在devices下,但是我们只需要 serial number的:

serial_nos = []
for item in devices.split():
 filters = ['list', 'of', 'device', 'devices', 'attached']
 if item.lower() not in filters:
  serial_nos.append(item)

这样serial_nos 下保存的就是所有设备的 serial number 了,下面我们只需要依次对其进行adb -s [serial_number] reboot即可:

for serial_no in serial_nos:
 reboot_cmds.append('adb -s %s reboot' % serial_no)
for reboot_cmd in reboot_cmds:
 subprocess.Popen(
  reboot_cmd.split(),
  stdout=subprocess.PIPE,
  stderr=subprocess.PIPE
 ).communicate()[0]

这样,每个设备都进行了reboot的操作了……

以上这篇Python调用adb命令实现对多台设备同时进行reboot的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用 Python 获取 Linux 系统信息的代码
Jul 13 Python
Python实现模拟时钟代码推荐
Nov 08 Python
python 中的int()函数怎么用
Oct 17 Python
matplotlib subplots 设置总图的标题方法
May 25 Python
Python实现自定义函数的5种常见形式分析
Jun 16 Python
python如何发布自已pip项目的方法步骤
Oct 09 Python
python下载微信公众号相关文章
Feb 26 Python
Python 求数组局部最大值的实例
Nov 26 Python
python使用协程实现并发操作的方法详解
Dec 27 Python
python通过文本在一个图中画多条线的实例
Feb 21 Python
面向新手解析python Beautiful Soup基本用法
Jul 11 Python
基于Python的一个自动录入表格的小程序
Aug 05 Python
彻彻底底地理解Python中的编码问题
Oct 15 #Python
widows下安装pycurl并利用pycurl请求https地址的方法
Oct 15 #Python
解决python3 安装完Pycurl在import pycurl时报错的问题
Oct 15 #Python
Python安装pycurl失败的解决方法
Oct 15 #Python
django框架之cookie/session的使用示例(小结)
Oct 15 #Python
Python访问MongoDB,并且转换成Dataframe的方法
Oct 15 #Python
Django框架的中的setting.py文件说明详解
Oct 15 #Python
You might like
PHP4实际应用经验篇(5)
2006/10/09 PHP
PHP实现的简单排列组合算法应用示例
2017/06/20 PHP
js 数组实现一个类似ruby的迭代器
2009/10/27 Javascript
JavaScript高级程序设计 读书笔记之十一 内置对象Global
2012/03/07 Javascript
javascript控制台详解
2015/06/25 Javascript
基于insertBefore制作简单的循环插空效果
2015/09/21 Javascript
使用Javascript实现选择下拉菜单互移并排序
2016/02/23 Javascript
BootStrap的弹出框(Popover)支持鼠标移到弹出层上弹窗层不隐藏的原因及解决办法
2016/04/03 Javascript
关于backbone url请求中参数带有中文存入数据库是乱码的快速解决办法
2016/06/13 Javascript
jQuery layui常用方法介绍
2016/07/25 Javascript
浅谈js中字符和数组一些基本算法题
2016/08/15 Javascript
Js得到radiobuttonlist选中值的两种方法(推荐)
2016/08/25 Javascript
JS实现仿PS的调色板效果完整实例
2016/12/21 Javascript
JS实现页面打印功能
2017/03/16 Javascript
手机端转换rem适应
2017/04/01 Javascript
详解nodejs微信公众号开发——6.自定义菜单
2017/04/13 NodeJs
CentOS 安装NodeJS V8.0.0的方法
2017/06/15 NodeJs
AngularJS标签页tab选项卡切换功能经典实例详解
2018/05/16 Javascript
微信小程序实现左滑动删除效果
2020/03/30 Javascript
vue 父组件通过v-model接收子组件的值的代码
2019/10/27 Javascript
Vue CLI3移动端适配(px2rem或postcss-plugin-px2rem)
2020/04/27 Javascript
Vue和React有哪些区别
2020/09/12 Javascript
python中使用smtplib和email模块发送邮件实例
2014/04/22 Python
python正则表达式match和search用法实例
2015/03/26 Python
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
2016/12/27 Python
python实现员工管理系统
2018/01/11 Python
python dumps和loads区别详解
2020/02/04 Python
CSS3实现滚动条动画效果代码分享
2016/08/03 HTML / CSS
索引覆盖(Index Covering)查询含义
2012/02/18 面试题
医学院学生求职简历的自我评价
2013/10/24 职场文书
大学生自荐信
2013/12/11 职场文书
医学生职业生涯规划书范文
2014/03/13 职场文书
旺仔牛奶广告词
2014/03/20 职场文书
家庭教育的心得体会
2014/09/01 职场文书
小学英语新课改心得体会
2016/01/22 职场文书
MySQL表类型 存储引擎 的选择
2021/11/11 MySQL