我希望通过Python脚本实现多次执行shell命令 15
如我在doc下输入:adbshell$su#date-s"xxxxxxxx"不知道怎么实现脚本用过popensubprocessos.system都貌似是只能执行一次...
如我在doc下输入:
adb shell
$su
#date -s "xxxxxxxx"
不知道怎么实现脚本 用过popen subprocess os.system 都貌似是只能执行一次 展开
adb shell
$su
#date -s "xxxxxxxx"
不知道怎么实现脚本 用过popen subprocess os.system 都貌似是只能执行一次 展开
5个回答
推荐于2018-04-05 · 知道合伙人互联网行家
关注
展开全部
python脚本实现多次循环执行shell命令有三种方法,代码如下:
#方法一
os.system
import os
i = 0
while True:
i = i + 1
os.system("tcpreplay -ibond0 -M 5 -l 1 oracle_request_response.cap")
print"+++++++++++++++++++++++++++++++"
print"times:" ,i
time.sleep(5)
#方法二
os.popen
import os
i = 0
while True:
i = i + 1
print os.popen("tcpreplay -ibond0 -M 5 -l 1 oracle_request_response.cap").read()
print"+++++++++++++++++++++++++++++++"
print"times:" ,i
time.sleep(60)
#方法三
output = Popen("xxx",shell = True).communicate()[0]
import os
from subprocess import *
i = 0
while True:
i = i + 1
output = Popen("tcpreplay -ibond0 -M 5 -l 1 oracle/*",shell = True).communicate()[0]
print"+++++++++++++++++++++++++++++++"
print"times:" ,i
time.sleep(60)
2012-04-23
展开全部
用循环:
import os
for i in range(3):
os.system("date");
import os
for i in range(3):
os.system("date");
追问
os.system会初始化运行环境 每次都是doc下运行 达不到上下环境一致啊
adb shell是在doc下
$su是在shell下
#date -s "xxxxxxxx"是在shell下
追答
from subprocess import *
p = Popen("bash", bufsize = 0, stdin=PIPE, stdout=PIPE, stderr=PIPE)
p.stdin.write("pwd\n");
print p.stdout.readline()
p.stdin.write("cd /tmp\n");
p.stdin.write("pwd\n");
print p.stdout.readline()
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我也遇到同样的问题,你知道该如何解决了吗
追问
不清楚 你有什么好办法吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
写一个函数,多次调用不行吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询