TA的每日心情 | 无聊 8 小时前 |
---|
签到天数: 528 天 连续签到: 1 天 [LV.9]测试副司令
|
1测试积点
python中使用Popen.communicate返回一个错误的元组,求各位大神帮忙看看这是什么情况,该怎么改
代码如下:
- PATH = lambda p: os.path.abspath(
- os.path.join(os.path.dirname(__file__), p)
- )
- apkpath = PATH("../appiumnautomaster/img/YYHL_Android_V1_2_5_ver_d0505.apk")
- def get_apk_pkg():
- cmd = "aapt dump badging " + apkpath + " | grep package:"
- result = ""
- p = subprocess.Popen(cmd, stdout=subprocess.PIPE,
- stderr=subprocess.PIPE,
- stdin=subprocess.PIPE, shell=True)
- print(p.communicate())
- (output, err) = p.communicate()
- if output != "":
- result = output.split()[1].decode()[6:-1]
- print(result)
- return result
- print(get_apk_pkg())
复制代码 程序目的是想用appt dump badging 命令解析apk,拿到apk的包名
运行代码时,打印的p.communicate()是这样的:
- (b'', b"'aapt' \xb2\xbb\xca\xc7\xc4\xda\xb2\xbf\xbb\xf2\xcd\xe2\xb2\xbf\xc3\xfc\xc1\xee\xa3\xac\xd2\xb2\xb2\xbb\xca\xc7\xbf\xc9\xd4\xcb\xd0\xd0\xb5\xc4\xb3\xcc\xd0\xf2\r\n\xbb\xf2\xc5\xfa\xb4\xa6\xc0\xed\xce\xc4\xbc\xfe\xa1\xa3\r\n")
复制代码 但是看教程返回的元组格式应该是:(stdoutdata, stderrdata);也就是说stdoutdata对应的是b'';这明显不对啊,调试了好久都没解决
请大神们帮忙看看,解答一下,万分感谢
|
|