zoukankan      html  css  js  c++  java
  • python使用adb获取Android Phone截图(解决Windows传输编码导致png文件损坏的问题)

    使用adb命令

    ./adb shell screencap -p

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

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

    import subprocess
    out=subprocess.Popen('./adb shell screencap -p',stdout=subprocess.PIPE)

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

    所以用replace修复数据流。

    out=out.stdout.read().replace(b'
    ', b'
    ')

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

  • 相关阅读:
    vmwear 及docker
    vue相关
    vue demo
    线程的死锁
    让出和守护线程
    join加入线程
    线程的优先级
    线程间的通信
    synchronized关键字的使用
    线程的并发
  • 原文地址:https://www.cnblogs.com/LukeStepByStep/p/9975727.html
Copyright © 2011-2022 走看看