我正在通过Python执行ADB命令,它在某种程度上工作正常。 代码是:
#!/usr/bin/python
import sys
import string
import os
import subprocess
cmd = 'adb shell ls'
s = subprocess.Popen(cmd.split())
print "Again"
t = str(s)
for me in t.split('\n') :
print "Something"
print me[1]
我得到的输出是:
static-243:Scripts adityagupta$ ./hellome.py
Again
Something
s
static-243:Scripts adityagupta$ config
cache
sdcard
acct
mnt
vendor
d
etc
ueventd.rc
ueventd.goldfish.rc
system
sys
sbin
proc
init.rc
init.goldfish.rc
init
default.prop
data
root
dev
任何建议我都可以将每个元素列入其中并将每个元素存储在其中。 该列表应该看起来像
list = [cache,sdcard,acct,mnt,vendor ..]等等。
答案 0 :(得分:5)
你不应该使用check_output
便利功能吗?
#!/usr/bin/env python
import subprocess
cmd = 'adb shell ls'
s = subprocess.check_output(cmd.split())
print s.split('\r\n')
这里工作得很好(Ubuntu盒子)。请注意,换行符分隔符为'\ r \ n'而不是'\ n'。