python自动获取多个adb设备名
方法1:
import os
def check_adb_devices():
'''
检查adb 设备,并返回设备sn list
:return: 设备sn list
'''
adb_list=[]
ret =os.popen('adb devices').readlines()
print('ret={}'.format(ret))
if len(ret) ==1:
print('未识别到adb 设备...')
return adb_list
else:
for n in ret:
if '\tdevice\n' in n:
adb=str(n).strip().split('\tdevice')[0].strip()
adb_list.append(str(adb))
print('adb设备数量={},adb_list={}'.format(len(adb_list), adb_list))
return adb_list
if __name__ == '__main__':
check_adb_devices()
执行结果:
ret=['List of devices attached\n', '1234a4f3\tdevice\n', 'mn4xwsbfrd\tdevice\n', '\n']
adb设备数量=2,adb_list=['1234a4f3', 'mn4xwsbfrd']
方法2:
def check_adb_devices_re():
'''
用re正则方式获取adb 列表,并返回设备sn list
:return: 设备sn list
'''
# 获取所有的安卓设备SN号码
devices_list = []
str_list = os.popen('adb devices').readlines()
print(str_list)
count = 0
for i in str_list:
if '\tdevice' in i:
device_name = ''
device_name = re.sub('\tdevice', '', i).replace('\n', '').strip()
print("Device_{}_name={}".format(count, device_name))
devices_list.append(device_name)
count = count + 1
print("devices={},devices_list={}".format(count,devices_list))
return devices_list
执行结果:
['List of devices attached\n', '1234a4f3\tdevice\n', '\n']
Device_0_name=1234a4f3
devices=1,devices_list=['1234a4f3']