测试人社区

python读取logcat有延迟,应该如何优化

if __name__=="__main__":
    import subprocess
    
    p=subprocess.Popen("adb logcat -vvv",shell=True,stdout=subprocess.PIPE,stderr=subprocess.STDOUT)


    while p.poll() is None:

        #log=str(p.stdout.readline(),encoding='gbk',errors='ignore')
        log=p.stdout.readline()
        print(log.decode('gbk',errors='ignore'))


使用如上代码实时读取logcat,但是相比直接在windows命令行执行logcat命令,python的输出会有比较大的延迟,特别日志内容多的时候
请问一下,这个有什么方法优化吗?

readline肯定是不行的,logcat存在缓冲,估计得用管道,使用子进程的管道用法吧

试了一下 在命令行python xx.py运行是可以同步 但是在python自带的idle就有比较慢,
校长 能不能示范一下python怎么使用管道

直接看下进程相关的文档就行了,就在多进程管理下,别偷懒,自己先试试

OK