python 执行adb shell 命令

一、os.system()

只返回对应状态码,且状态码只会有0(成功)12

此会将结果之间输出,所有在对返回值没有分析时可用

os.system(cmd)

二、os.popen()

返回脚本命令输出的内容

os.popen()可以实现一个“管道”,从这个命令获取的值可以继续被调用。而os.system不同,它只是调用,调用完后自身退出,执行成功直接返回个0

os.popen(cmd).read()

三、subprocess.Popen()

Popen类的构造函数,返回结果为subprocess.Popen对象,脚本命令的执行结果可以通过stdout.read()获取。

res = subprocess.Popen(cmd, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

result = res.stdout.read()
res.wait()
res.stdout.close()

四、subprocess.getstatusoutput()

result = subprocess.getstatusoutput(cmd)

 

返回是一个元组,如果成功,返回(0, 'xxx');如果失败,返回(1, 'xxx')

 

posted @ 2020-04-10 15:25  Gex  阅读(4141)  评论(0编辑  收藏  举报