新手区 如何更加有效的获取字符串信息

guji · 2015年03月26日 · 最后由 陈恒捷 回复于 2015年03月27日 · 2060 次阅读


import subprocess

device=subprocess.Popen('adb devices',stdout=subprocess.PIPE)
device_info=device.stdout.read()
serino=device_info.strip('List of devices attached').split()
print(serino[::2])

连接多台(3 台)设备的时候会显示多个设备序列号,然后这个时候我想把其中的序列号提取出来进行有效识别,上面的内容是我自己写的一个方法,显示出来的结果为:

虽然得到了自己想要的结果,但是感觉写的这个方法有点生硬,所以希望能够得到大家的一些指点,谢谢。

共收到 8 条回复 时间 点赞

估计要我写也会这样写。。。。最多加点判断,加点容错的机制。。。

guji #2 · 2015年03月26日 Author

@monkey
您好:我其实也没有想到特别好的方法,所以想如果我写的不好希望大家能指点下,嘿嘿。
那么目前我这个也算凑活的过去是吧

#2 楼 @lovelorn0327 嗯嗯。这个因为毕竟也不是什么需要有很大性能要求的。所以基本上是满足需求

guji #4 · 2015年03月26日 Author

@monkey
谢谢了,那么接下去就去加一些判断进行筛选识别了!感谢

你想通过代码直接获取 device 的信息吧?不是通过启动进程
应该可以,不想研究。。。。。

对于你目前的需求,这个应该就够了。没必要纠结写得好不好,能用、好用最重要。

很简洁实用了啊=。=

#4 楼 @lovelorn0327 提醒一下,如果 adb server 没开的话,直接输入 adb devices 会有开 server 的信息,你要过滤掉开 server 的信息。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册