python自动获取多个安卓adb设备名

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']

猜你喜欢

转载自blog.csdn.net/zh6526157/article/details/121358676