我希望通过Python脚本实现多次执行shell命令

如我在doc下输入:
adb shell
$su
#date -s "xxxxxxxx"
不知道怎么实现脚本 用过popen subprocess os.system 都貌似是只能执行一次

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)
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-04-23
用循环:
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()

本回答被网友采纳
第2个回答  2012-05-01
我也遇到同样的问题,你知道该如何解决了吗追问

不清楚 你有什么好办法吗?

第3个回答  2012-04-25
没一个靠谱的
第4个回答  2012-04-23
写一个函数,多次调用不行吗?

我希望通过Python脚本实现多次执行shell命令
python脚本实现多次循环执行shell命令有三种方法,代码如下:方法一 os.systemimport osi = 0while True:i = i + 1os.system("tcpreplay -ibond0 -M 5 -l 1 oracle_request_response.cap")print"+++++++++++++++"print"times:" ,itime.sleep(5)#方法二 os.popen import osi = 0while ...

python的问题 ***.pop
项目中需要用到`***.popen`频繁地执行shell命令,然而当处理大量数据时,内存消耗过大,引发了内存溢出,导致线程阻塞并抛出`[Errno 24] Too many open files`的异常。虽然有人提到在Python 2.x中关闭文件描述符的参数`close_fds=True`可能有助于解决,但在我的情况下并未奏效。在Stack Overflow的...

一次艰难的渗透提权过程
我编写了一个原型为uid_t getuid(void)的C函数,内部执行攻击者指定的代码,编译为共享对象evil.so,并通过putenv()设定环境变量LD_PRELOAD为evil.so,最终利用mail()函数执行恶意代码。成功利用后,我通过Python的反弹脚本执行命令并监听,实现了与目标服务器的交互。根据版本信息,我确认了目标系统的版本...

怎么样才能在一个dos窗口连续telnet?
您可以在Excel中编辑这些命令并将它们复制到文本文件中,然后将扩展名更改为.bat。您可以双击该文件,它将在命令提示符窗口中连续执行每个命令。您也可以使用脚本编程语言如Python来实现这个功能,可以用第三方库如paramiko来实现telnet连接。如果您不熟悉批处理或者脚本编程,也可以使用网络管理软件来实现这个...

linux下编写一个shell脚本 每天0点 定时执行某一可执行程序test。 刚...
方法一:准备好定时启动的脚本auto.py 用root权限编辑以下文件 在文件末尾添加以下命令 以上代码的意思是每隔两分钟执行一次脚本并打印日志。crontab编写解释 基本格式 举例说明 方法二:APScheduler定时框架 APScheduler是一个Python定时任务框架,使用起来十分方便。提供了基于日期、固定时间间隔以及crontab类型的...

python代码命令大全(python命令行代码雨)
打开命令行(Windows系统可以打开命令提示符或PowerShell,Mac或Linux系统可以打开终端),输入以下命令:python-iexample.py 执行以上命令后,会看到以下输出:3 在命令行中输入以下内容,并按回车键:print(add(3,4))可以看到以下输出:7 解释:执行python-iexample.py命令后,Python解释器会执行example....

python手机编程?
2.Termux:这是一个功能强大的高级终端,可以运行shell命令(ssh等),在线安装python后,也可以编辑运行python代码,下面我简单介绍一下这个软件: 安装Termux,这个与上面的QPython3类似,直接下载安装(首次安装,时间可能比较长,保持联网,耐心等待一下): 请点击输入图片描述 安装成功后,界面如下,可以使用pkginstall来安装包,安...

Python自动化:10个令人惊叹的自动化脚本,拿来即用,总有一款适合你!_百 ...
请在终端下通过命令(streamlitrunsmart_trade.py)运行该脚本,执行命令后会得到两个地址:任意复制其中一个到浏览器中都可以查看脚本运行效果。5. 自动图像下载器这个自动化脚本可以帮助你在几分钟内用几行代码从网上批量下载数据。PS:这个脚本是通过simple_image_download包从谷歌下载图像,因此在国内基本...

python shell运行出了点错
首先,你打开IDLE后,看左上角的标题,如果是"Python SHell"的话,说明只是IDLE下的交互模式而已,和你直接使用PYTHON.EXE没有区别.选择FILE>NEW window后新出现一个窗口(Untitled)或者你直接打开一个PY文件(左上角是“XXX。PY”),这个才是idle的编辑界面。看看菜单是不是这样的 file edit format ...

python一条指令需要多少时间
python一般一秒钟默认是执行一行代码,一般使用python的Thread类的子类Timer,该子类可控制指定函数在特定时间后执行一次,如果为了实现多次定时执行某函数,只需要在一个while循环中多次新建Timer即可。Python是由GuidovanRossum在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。Python本身...

相似回答