python调用shell脚本
❶ python 需要调用 /shell/目录下的run.sh。在脚本中调用的是一个jar包,jar包可
我用的spss版本是22.0,也是最近为了使用SPSS Python Essentials才安装的这个版本,大家可以参考这篇文章,以便正确安装spss 22.0。
安装好了spss22.0以后,如果你按照上面的安装教程进行的安装,SPSS Python Essentials就自动的安装在了你的spss22.0的安装目录下。接下来我们要进行必要的设置。
打开spss22的界面,打开编辑菜单下的【选项】
切换到脚本选项下,我们设置一下缺省脚本语言为python,点击【应用】
切换到【文件位置】选项下,设置python的位置,我们有两个选项,一个是随IBM SPSS安装的位置,这就是说,spss22在安装的时候自动安装了python2.7,如果我们想要使用这个python,就选择第一个选项;但是我现在有一个更好的建议,使用我们自己安装的python,也就是说在安装spss之前就有一个python安装好了,我现在想使用这个python,我们可以设置python的其他安装,然后找到这个python安装的目录,最后点击确定就可以了。为什么我建议使用第二种选择呢?因为我的python下有很多安装好的扩展包,需要在处理数据的时候调用,以后安装新的扩展包也很方便。如果使用是、随spss安装的python,还需要另行安装这些扩展包
设置完成以后,我们想要启动python的编辑窗口,需要在开始菜单中启动,如图所示。不能直接从python的安装目录里启动。
另外,spss22还有一个bug,我们虽然设置了Python的主目录,但是在新建脚本的时候,还是用的随spss安装的python的shell。所以想要使用python脚本,你就从上面那个方面里启动python shell
原作者:Delta数据工作室
❷ python调用shell命令时 有时要用户手动输入密码(如ssh),Python要然Python程序输入密码
expect专门干这个de
网络一搜,资料很多,本人做过这个,好使 大致如下
expect
spawn ssh 192.168.1.1
expect "login:"
send "wuhuhu"
expect "Pasword:"
send "123456"
❸ 如何用Python交互执行shell脚本
“交互执行shell脚本”是不是说代替人的手动输入,比如sudo时输入密码的操作?
这种情况可以用Pexpect模块。不是默认的,需要自己装。
❹ 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执行远程shell脚本
最近有个需求就是页面上执行shell命令,第一想到的就是os.system,
代码如下:
os.system('cat /proc/cpuinfo')
但是发现页面上打印的命令执行结果 0或者1,当然不满足需求了。
尝试第二种方案 os.popen()
代码如下:
output = os.popen('cat /proc/cpuinfo')
print output.read()
通过 os.popen() 返回的是 file read 的对象,对其进行读取 read() 的操作可以看到执行的输出。但是无法读取程序执行的返回值)
尝试第三种方案 commands.getstatusoutput() 一个方法就可以获得到返回值和输出,非常好用。
代码如下:
(status, output) = commands.getstatusoutput('cat /proc/cpuinfo')
print status, output
Python Document 中给的一个例子,
代码如下:
>>> import commands
>>> commands.getstatusoutput('ls /bin/ls')
(0, '/bin/ls')
>>> commands.getstatusoutput('cat /bin/junk')
(256, 'cat: /bin/junk: No such file or directory')
>>> commands.getstatusoutput('/bin/junk')
(256, 'sh: /bin/junk: not found')
>>> commands.getoutput('ls /bin/ls')
'/bin/ls'
>>> commands.getstatus('/bin/ls')
'-rwxr-xr-x 1 root 13352 Oct 14 1994 /bin/ls'
❻ 请教python如何执行shell管道命令
Python执行Linux系统命令,即在Python脚本中调用Shell命令,具体有以下四种方法:
1、os.system
//仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息
system(command) -> exit_status
Execute the command (a string) in a subshell.
//如果再命令行下执行,结果直接打印出来:
>>> os.system('ls')
04101419778.CHM bash document media py-django video
11.wmv books downloads Pictures python
all-20061022 Desktop Examples project tools
2、os.popen
//该方法不但执行命令还返回执行后的信息对象
popen(command [, mode='r' [, bufsize]]) -> pipe
Open a pipe to/from a command returning a file object.
3、使用模块 subprocess
>>> import subprocess
>>> subprocess.call(["cmd", "arg1", "arg2"],shell=True)
//获取返回和输出:
import subprocess
p = subprocess.Popen('ls', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
for line in p.stdout.readlines():
print line,
retval = p.wait()
4、使用模块 commands
>>> import commands
>>> dir(commands)
['__all__', '__builtins__', '__doc__', '__file__', '__name__', 'getoutput', 'getstatus','getstatusoutput', 'mk2arg', 'mkarg']
>>> commands.getoutput("date")
'Wed Jun 10 19:39:57 CST 2009'
>>>
>>> commands.getstatusoutput("date")
(0, 'Wed Jun 10 19:40:41 CST 2009')
❼ python调用shell脚本 获取shell脚本中间的输出值
你试着用while循环来读看看,从你的代码我只看到一次读嘛。。
❽ python脚本中怎么调用shell命令
os.system("The command you want"). 这个调用相当来直接,源且是同步进行的,程序需要阻塞并等待返回。返回值是依赖于系统的,直接返回系统的调用返回值,所以windows和linux是不一样的
os.popen(command[,mode[,bufsize]]),图中是一个例子. 可以看出,popen方法通过p.read()获取终端输出,而且popen需要关闭close().当执行成功时,close()不返回任何值,失败时,close()返回系统返回值. 可见它获取返回值的方式和os.system不同。
3
使用commands模块,图中是一组例子。根据你需要的不同,commands模块有三个方法可供选择。getstatusoutput, getoutput, getstatus。
❾ python 如何调用带参数的shell脚本
调用带参数的脚本,需要首先设置,举例如下:
test.py按行解释如下:
脚本中有汉字的话,需要声明文件编码格式;
导入sys模块,这个模块是用来获取参数列表的;
sys.argv是一个列表,第一个是文件名,之后依次是参数列表;
打印输出,这一步不需要多讲;
保存到c:usersYYCDesktop est.py;
调用操作步骤:
打开命令行;
输入python 文件名 第一个参数 第二个参数.....(参数之间用空格区分);
一定要注意参数个数,要以文件名开始。