python adb 交互

no time to say 直接上代码吧

1.Python adb交互

python2:

os.system()

python3:

import subprocess

2.生成日志的命令,这样是正确的

class abc(object):

    def getLogcat1(self):
        filename ='a'+ ".txt"
        logcat_file = open(filename, 'w')
        logcmd = "adb logcat -v time"
        pro = subprocess.Popen(logcmd, stdout=logcat_file, stderr=subprocess.PIPE)

        # logCmd = r'adb logcat -v time > .\{}'.format('name')
        # subprocess.getstatusoutput(r'adb logcat -v time > .\{}'.format('name'))
        return pro, filename
if __name__ == '__main__':
    abc().getLogcat1()


具体在我项目中的实现,是这样的

#抓取日志
def logCat(self):
    nowtime = datetime.datetime.now().strftime('%Y%m%d%H%M%S')
    filename = nowtime + ".txt"
    logcat_file = open(filename, 'w')
    logcmd = 'adb logcat -v time'
    pro = subprocess.Popen(logcmd, stdout=logcat_file, stderr=subprocess.PIPE)
#结束进程
def killPro(self, pro):
    pro.kill()
    # .close()是关闭文件的   .kill()是杀掉进程

  #抓取日志
    def logCat(self):
        nowtime = datetime.datetime.now().strftime('%Y%m%d%H%M%S')
        filename = nowtime + ".txt"
        logcat_file = open(filename, 'w')
        logcmd = 'adb logcat -v time'
        pro = subprocess.Popen(logcmd, stdout=logcat_file, stderr=subprocess.PIPE)
    #结束进程
    def killPro(self, pro):
        pro.kill()
        # .close()是关闭文件的   .kill()是杀掉进程

至于我项目中遇到的问题,简单说一下,

我用的这个命令

subprocess.getstatusoutput(r'adb logcat -v time > .\{}'.format(name))
虽然能够取到日志,但是会导致我的程序崩溃。

猜你喜欢

转载自blog.csdn.net/qq_39208536/article/details/80911443