2016-07-07 169 views
-1

我想使用ADB shell来访问我的设备内部存储,然后使用Python访问信息。我知道如何从使用Python执行单ADB命令:使用Python执行多个adb shell命令

cmd1 = 'adb shell ls' 
s1 = subprocess.check_output(cmd1.split()) 

而且我发现,我们可以使用&& or || or & or ;当我们正在使用Linux终端在这里link1link2link3执行命令,多个命令结合起来。

但是我看不到(至今)如何使用这些命令,并结合Pyhton中可以使用的命令。例如,我想在Python中做些什么,这会给我在linux终端上运行这四个命令的等效结果。

adb devices 
adb shell 
cd /dev/block 
find -name boot 

因此,有谁知道我可以如何在Python中执行此操作。

感谢。

+0

https://docs.python.org/2/library/subprocess.html# – miyamoto

+0

@miyamoto感谢。但对于我的特殊情况,可以使用'cmd1 = adb shell find/dev/block -name boot'和s1 = subprocess.check_output(cmd1.split())'来解决。所以在这里我可以在一个命令本身得到答案。 –

回答

0

可以使用通信()方法来做到这一点

procId = subprocess.Popen('adb shell',stdin = subprocess.PIPE) 
procId.communicate('cd /dev/block\nfind -name boot\n') 
+0

谢谢,会试试看。 –