我想更改以下代码以运行命令--
,以使adb_id成为不区分大小写,如果adb_id为adb -s %s get-state"%(adb_id)
或{{},则应该有效1}}?任何人都可以就如何做到这一点提供指导吗?
1281b6a1
答案 0 :(得分:1)
您不能使adb
不区分大小写,因此如果您希望用户能够输入设备ID而不必担心大小写,则您需要找到更正设备名称的大小写并将其传递给adb
。
要做到这一点,您需要获取adb devices
的输出才能找到设备的实际名称。然后使用不区分大小写的搜索找到用户在该设备列表中输入的内容,最后返回该设备名称。
devlist = subprocess.check_output("adb devices")
devname = "\r\n%s\t" % adb_id.lower() # device name is followed by tab
posn = devlist.lower().find(devname)
if posn + 1: # found
adb_id = devlist[posn+2:posn+2+len(adb_id)]
else:
print("that device is not connected")
现在adb_id
是设备ID的案例更正版本,可以通过subprocess
传递给adb
。
更好的解决方案可能是使用adb devices
的输出来制作菜单。这样,用户就不必输入完整的设备名称。