当前位置:首页 > 操作系统 > Windows

python使用adb获取Android Phone截图(解决Windows传输编码导致png文件损坏的问题)

使用adb命令

./adb shell screencap -p

可以截取当前屏幕,并且作为stdout,传给外部。那么对于python,我们可以用如下代码获取数据流。

使用Popen创建子进程用于读取数据流。

            <span>import</span>
            <span> subprocess
out</span>=subprocess.Popen(<span>‘</span><span>./adb shell screencap -p</span><span>‘</span>,stdout=subprocess.PIPE)

out是当前的Popen实例,考虑到Windows接收过程中,会把 当作 写入流中,进而导致png文件打不开。

所以用replace修复数据流。

out=out.stdout.read().replace(b<span>‘</span><span>
</span><span>‘</span>, b<span>‘</span><span>
</span><span>‘</span>)

这里得到的out就是正常的二进制数据了,将其以wb的模式写成.png即可。

原文:https://www.cnblogs.com/LukeStepByStep/p/9975727.html


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐