python执行shell命令
python脚本实现多次循环执行shell命令有三种方法,代码如下:
#方法一
os.system
importos
i=0
whileTrue:
i=i+1
os.system("tcpreplay-ibond0-M5-l1oracle_request_response.cap")
print"+++++++++++++++++++++++++++++++"
print"times:",i
time.sleep(5)
#方法二
os.popen
importos
i=0
whileTrue:
i=i+1
printos.popen("tcpreplay-ibond0-M5-l1oracle_request_response.cap").read()
print"+++++++++++++++++++++++++++++++"
print"times:",i
time.sleep(60)
#方法三
output=Popen("xxx",shell=True).communicate()[0]
importos
fromsubprocessimport*
i=0
whileTrue:
i=i+1
output=Popen("tcpreplay-ibond0-M5-l1oracle/*",shell=True).communicate()[0]
print"+++++++++++++++++++++++++++++++"
print"times:",i
time.sleep(60)
⑵ 如何打开python shell
Windows启动Python交互式解释器有两种方式。第一种方式是进入Pyhton的安装目录,直接运行python.exe程序;第二种方式是进入Windows命令行窗口,在命令行窗口启动python.exe。步骤如下:
1、第一步 找到python.exe文件:
注意事项:
1、在Windows命令行窗口启动Python交互式解释器,首先需要将Python安装目录的路径,添加到Path系统环境变量
2、可以启动Python交互解释器进行交互式编程,也可以用Python自带的集成开发工具编写Python程序
⑶ python中怎么运行shell脚本
python中怎么运行shell脚本?
system()
其中最后一个0是这个命令的返回值,为0表示命令执行成功。使用system无法将执行的结果保存起来。
popen()
获取命令执行的结果,但是没有命令的执行状态,这样可以将获取的结果保存起来放到pst中。
commands
可以很方便的取得命令的输出(包括标准和错误输出)和执行状态位。
commands.getoutput('ls')这个方法只返回执行结果result不返回状态。
在python中调用shell脚本
hello.sh
下面的512是返回的状态码,如果eixt 0时则返回的是0.
shell脚本使用python脚本的参数
写一个hello.sh脚本,需要传入两个参数:
执行结果如下:
在python脚本中调用shell脚本,并传入参数,注意参数前后要有空格
执行python脚本
相关推荐:《Python教程》以上就是小编分享的关于python中怎么运行shell脚本的详细内容希望对大家有所帮助,更多有关python教程请关注环球青藤其它相关文章!
⑷ 如何使用python脚本调用adb shell里面的命令
python调用Shell脚本,有两种方法:os.system(cmd)或os.popen(cmd),前者返回值是脚本的退出状态码,后者的返回值是脚本执行过程中的输出内容。实际使用时视需求情况而选择。
现假定有一个shell脚本
test.sh:
#!/bin/bash
echo "hello world!"
exit 3
⑸ python shell怎么使用
Python 中执行 Shell 命令有多种方法,stackoverflow 上有对这些方法进行比较的讨论,Calling an external command in Python 指出使用subprocess模块来实现更优。因此,本文说明如何使用subprocess模块来实现 Shell 脚本的功能。
subprocess模块提供多种方法来实现执行 Linux 的命令,例如subprocess.call()方法,subprocess.check_call()方法,等。这些方法都是对Popen类的封装,故本文着重讲述Popen类的使用。
执行 Shell 命令
可以通过向Popen()传递需要执行的命令来创建一个Popen对象,这样,便会创建一个子进程来执行命令。例如:
child = subprocess.Popen(["ping","-c","5","leehao.me"])
1
上面的代码会创建一个子进程来执行ping -c 5 leehao.me命令,这个命令采用列表的形式传递给Popen()方法。如果我们想直接采用ping -c 5 leehao.me字符串形式,可以添加shell=True来实现:
child = subprocess.Popen("ping -c 5 leehao.me", shell=True)
1
官方文档指出由于安全原因故不建议使用shell=True,详细说明可以参考官方文档的描述。
等待子进程执行
子进程执行命令后,主进程并不会等待子进程执行。为了让主进程等待子进程执行结束,需要显示调用Popen.wait()方法。例如:
child = subprocess.Popen(["ping","-c","5","leehao.me"])
child.wait()
print 'parent finish'
1
2
3
这样,主进程会等待子进程执行ping命令完毕后,才会打印出parent finish的输出。
获取执行结果
为了获取Popen()子进程的输出,可以使用Popen.communicate()方法,例如:
def subprocess_cmd(command):
process = subprocess.Popen(command,stdout=subprocess.PIPE, shell=True)
proc_stdout = process.communicate()[0].strip()
print proc_stdout
subprocess_cmd('echo leehao.me; echo www.leehao.me')
1
2
3
4
5
6
输出:
leehao.me
www.leehao.me
process.communicate()方法可以实现主进程与子进程的通信。主进程可以通过它向子进程发送数据,也可以读取子进程的输出的数据。上面的例子中,我们在创建Popen对象时指定stdout=subprocess.PIPE,这样主进程便可以读取子进程的输出。
communicate()方法返回一个元组:(stdoutdata, stderrdata),process.communicate()[0]即获取子进程的标准输出。
需要指出的是,调用communicate()方法后,主进程也会等待子进程执行完毕。
上面的例子中,子进程向标准输出打印两个字符串,主进程接收到了这些输出,并打印出来。
⑹ python中的shell提示符是什么意思
命令行的shell直接输入你要输入的东西就行。
Shell 循环
启动 shell 时,它会立刻展示命令提示符并等待输入。在接收到命令并执行完毕(细节会在后面讲到)后,shell 会再次回到等待循环,准备接收下一条命令。
在shell.py中,我们通过主函数调用shell_loop()函数,来启动循环。代码如下:
然后在shell_loop()函数中,使用status标志来表示循环是否应该继续。在循环开始时,shell 将立即显示命令提示符,并等待输入。
(6)python执行shell命令扩展阅读
用户在 shell 中键入命令并按下回车时,输入的命令是一条长长的字符串,其中包含了命令名以及参数。因此,我们必须将其切分(将字符串拆分成多个 token)。
字符串切分乍一看很简单。我们可能会使用cmd.split()根据空格来分割输入的命令。对于形如ls -a my_folder的命令是奏效的,因为cmd.split()会将其拆分为一个列表 —['ls', '-a', 'my_folder’],这样我们使用起来就比较容易了。
但是,某些情况下,某些参数会带有单引号或者双引号,比如echo "Hello World”或者echo 'Hello World’。如果我们使用cmd.split(), 将会得到一个包含三个 token 的列表 —['echo', '"Hello', 'World”’],而不是包含两个 token 的列表 —['echo', 'Hello World’]。
⑺ python调用shell命令时 有时要用户手动输入密码(如ssh),Python要然Python程序输入密码
subprocessing 模块 popen里可以设置stdout_in的,你可以设输入信息。不过你可以考虑从ssh本身下手,用公私钥验证的方式来避免密码验证。