python可以说是写一些小脚本的利器语法简单,做为最著名的就“胶水语言”用它来写一些命令脚本非常的方便。下面这篇文章主要给大家介绍了关于Python如何通过subprocess调用adb命令的相关资料,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
前言
本文主要给大家介绍了关于使用Python通过subprocess调用adb命令,subprocess包主要功能是执行外部命令(相对Python而言)。和shell类似。
换言之除了adb命令外,利用subprocess可以执行其他的命令,比如ls,cd等等。
subprocess 可参考: https://docs.python.org/2/library/subprocess.html
在电脑上装好adb工具,配置好adb的环境变量,先确保shell中可以调用adb命令。
代码示例
Python2.7
类 Adb,封装了一些adb的方法
import os import subprocess class Adb(object): """ Provides some adb methods """ @staticmethod def adb_devices(): """ Do adb devices :return The first connected device ID """ cmd = "adb devices" c_line = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()[0] if c_line.find("List of devices attached") <0: # adb is not working return none c_line.split("\t")[0].split("\r\n")[-1] this line may have different format @staticmethod def pull_sd_dcim(device, target_dir='E:/files' ): """ pull dcim files from device print "pulling files" des_path device) if os.path.exists(des_pat来源gaodai#ma#com搞*!代#%^码网h): os.makedirs(des_path) cmd="adb pull /sdcard/DCIM/" + result shell stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate() "finish!" some_adb_cmd(): p=subprocess.Popen('adb cd sdcard&&ls&&cd .. sys&&ls', return_code while none: p.stdout.readline() p.poll() line.strip() line: "done"
some_adb_cmd方法执行一连串的命令。各个命令之间用&&连接。
接着是一个死循环,将执行结果打印出来。
总结
以上就是Python如何通过subprocess调用adb命令详解的详细内容,更多请关注gaodaima搞代码网其它相关文章!