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映射拆分操作符用法实例
May 19 Python
python实现的DES加密算法和3DES加密算法实例
Jun 03 Python
Python网络爬虫实例讲解
Apr 28 Python
Python找出最小的K个数实例代码
Jan 04 Python
Python实现Kmeans聚类算法
Jun 10 Python
使用Python读取安卓手机的屏幕分辨率方法
Mar 31 Python
利用numpy和pandas处理csv文件中的时间方法
Apr 19 Python
python 中如何获取列表的索引
Jul 02 Python
使用Tensorflow实现可视化中间层和卷积层
Jan 24 Python
python3获取控制台输入的数据的具体实例
Aug 16 Python
Python unittest装饰器实现原理及代码
Sep 08 Python
python中出现invalid syntax报错的几种原因分析
Feb 12 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
使用PHP实现Mysql读写分离
2013/06/28 PHP
基于jquery的实现简单的表格中增加或删除下一行
2010/08/01 Javascript
浅谈JavaScript的事件
2015/02/27 Javascript
js+html5获取用户地理位置信息并在Google地图上显示的方法
2015/06/05 Javascript
常常会用到的截取字符串substr()、substring()、slice()方法详解
2015/12/16 Javascript
微信小程序 网络API发起请求详解
2016/11/09 Javascript
form+iframe解决跨域上传文件的方法
2016/11/18 Javascript
Vue.js第三天学习笔记(计算属性computed)
2016/12/01 Javascript
jQuery插件FusionCharts绘制的3D饼状图效果实例【附demo源码下载】
2017/03/03 Javascript
详解微信小程序实现仿微信聊天界面(各种细节处理)
2019/02/17 Javascript
微信小程序封装分享与分销功能过程解析
2019/08/13 Javascript
JavaScript闭包原理与用法学习笔记
2020/05/29 Javascript
探究Python中isalnum()方法的使用
2015/05/18 Python
python中函数默认值使用注意点详解
2016/06/01 Python
Scrapy框架CrawlSpiders的介绍以及使用详解
2017/11/29 Python
Python爬虫爬取一个网页上的图片地址实例代码
2018/01/16 Python
用python与文件进行交互的方法
2018/03/01 Python
python实现聊天小程序
2018/03/13 Python
Python 利用切片从列表中取出一部分使用的方法
2019/02/01 Python
flask框架jinja2模板与模板继承实例分析
2019/08/01 Python
html5 Web SQL Database 之事务处理函数transaction与executeSQL解析
2013/11/07 HTML / CSS
美国滑雪和滑雪板商店:Buckman
2018/03/03 全球购物
Hammitt官网:设计师手袋
2020/05/23 全球购物
Java工程师面试集锦之Spring框架
2013/06/16 面试题
出国导师推荐信
2014/01/16 职场文书
店长职务说明书
2014/02/04 职场文书
消防安全责任书范本
2014/04/15 职场文书
生日庆典策划方案
2014/06/02 职场文书
竞选班干部演讲稿400字
2014/08/20 职场文书
2014年信贷员工作总结
2014/11/18 职场文书
2014幼儿园教育教学工作总结
2014/12/17 职场文书
2015年机械设备管理工作总结
2015/05/04 职场文书
Python利用folium实现地图可视化
2021/05/23 Python
vue基于Teleport实现Modal组件
2021/05/31 Vue.js
mybatis3中@SelectProvider传递参数方式
2021/08/04 Java/Android
PHP 时间处理类Carbon
2022/05/20 PHP