如何使变量不区分大小写?

时间:2016-11-17 23:17:39

标签: python

我想更改以下代码以运行命令--,以使adb_id成为不区分大小写,如果adb_id为adb -s %s get-state"%(adb_id)或{{},则应该有效1}}?任何人都可以就如何做到这一点提供指导吗?

1281b6a1

1 个答案:

答案 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的输出来制作菜单。这样,用户就不必输入完整的设备名称。