python 如何调用带参数的shell脚本

如题所述

调用带参数的脚本,需要首先设置,举例如下:

test.py按行解释如下:

    脚本中有汉字的话,需要声明文件编码格式;

    导入sys模块,这个模块是用来获取参数列表的;

    sys.argv是一个列表,第一个是文件名,之后依次是参数列表;

    打印输出,这一步不需要多讲;

    保存到c:\users\YYC\Desktop\test.py;

调用操作步骤:

    打开命令行;

    输入python 文件名 第一个参数 第二个参数.....(参数之间用空格区分);

    一定要注意参数个数,要以文件名开始。

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-10-28
举例:shell的脚本:t.sh内容:echo "this is a test shell with arguments"echo "arg1 = $1; arg2 = $2;"执行脚本./t.sh zhao结果如下:[noncode@gnode108 knockdown_workflow]$ ./t.sh zhao1 zhao2this is a test shell with argumentsarg1 = zhao1; arg2 = zhao2;python脚本:[noncode@gnode108 knockdown_workflow]$ cat t.py #!/usr/bin/env pythonimport osimport sysdef main():print 'Hello world!'if len(sys.argv) < 2 : print "usage:%s config log" %(sys.argv[0]) sys.exit(1)arg0 = sys.argv[0]arg1 = sys.argv[1]print "arg0 = %s; arg1 = %s" % (arg0, arg1) print "test ./t.sh: "os.system('./t.sh ' + arg0 + ' ' + arg1)print "test method of replacing: "t = 't.sh'm = 'zhao'n = 'zhao'cmd = "./%s %s %s" % (t,m,n)print "t = %s; m = %s; n = %s; cmd = %s" % (t,m,n,cmd)os.system(cmd)if __name__ == '__main__':main()运行脚本:python t.py t.sh执行结果:[noncode@gnode108 knockdown_workflow]$ python t.py t.shHello world!arg0 = t.py; arg1 = t.shtest ./t.sh: this is a test shell with argumentsarg1 = t.py; arg2 = t.sh;test method of replacing: t = t.sh; m = zhao; n = zhao; cmd = ./t.sh zhao zhaothis is a test shell with argumentsarg1 = zhao; arg2 = zhao;[noncode@gnode108 knockdown_workflow]$ cat t.sh echo "this is a test shell with arguments"echo "arg1 = $1; arg2 = $2;"[noncode@gnode108 knockdown_workflow]$ ./t.sh zhao1 zhao2this is a test shell with argumentsarg1 = zhao1; arg2 = zhao2;说明:两种方法使用python脚本调用shell脚本:第一种方法:os.system('./t.sh ' + arg0 + ' ' + arg1)注:./t.sh后面有一个空格,不同的第二种方法:t = 't.sh'm = 'zhao'n = 'zhao'cmd = "./%s %s %s" % (t,m,n)print "t = %s; m = %s; n = %s; cmd = %s" % (t,m,n,cmd)os.system(cmd)注:在之前把字符串聚合到一起。本回答被提问者采纳

python 如何调用带参数的shell脚本
脚本中有汉字的话,需要声明文件编码格式;导入sys模块,这个模块是用来获取参数列表的;sys.argv是一个列表,第一个是文件名,之后依次是参数列表;打印输出,这一步不需要多讲;保存到c:\\users\\YYC\\Desktop\\test.py;调用操作步骤:打开命令行;输入python 文件名 第一个参数 第二个参数...(参数之...

python中执行shell命令的4种方式
直接调用命令,返回值即是系统返回。shell=True表示命令最终在shell中运行。Python文档中出于安全考虑,不建议使用shell=True。建议使用Python库来代替shell命令,或使用pipe的一些功能做一些转义。官方的出发点是好的,不过真心麻烦了很多, so... 如果你更关注命令的终端输出,可以如下图这样操作, 同样很...

python和shell之间地互相调用
在编程世界中,Python和shell脚本经常协同工作,彼此之间实现功能的交互。首先,shell可以通过调用Python来扩展其功能,例如,通过执行start.sh脚本,我们可以看到shell如何与Python互动。在这个过程中,shell会传递参数给Python脚本,如test.py,以便进行特定的操作。反过来,Python也能够调用shell脚本,同样通过传...

python中怎么运行shell脚本
commands.getoutput('ls')这个方法只返回执行结果result不返回状态。在python中调用shell脚本 hello.sh 下面的512是返回的状态码,如果eixt 0时则返回的是0.shell脚本使用python脚本的参数 写一个hello.sh脚本,需要传入两个参数:执行结果如下:在python脚本中调用shell脚本,并传入参数,注意参数前后要有...

python执行shell命令?
Python执行Linux系统命令,即在Python脚本中调用Shell命令,具体有以下四种方法:1、os.system \/\/仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息system(command) -> exit_status Execute the command (a string) in a subshell.\/\/如果再命令行下执行,结果直接打印出来:>>> os.system...

python 编程,如何用subprocess执行带参数的命令,并且参数储存在data.txt...
``使命令结果作为参数不是程序的处理,是shell的处理,所以如果需要这么使用,应当使用shell处理你的字符串 简单说来,应该这么用:p1=subprocess.Popen('.\/examplecpp `cat data.txt`',stdout=subprocess.PIPE,shell=True)

python shell怎么使用
Python 中执行 Shell 命令有多种方法,stackoverflow 上有对这些方法进行比较的讨论,Calling an external command in Python 指出使用subprocess模块来实现更优。因此,本文说明如何使用subprocess模块来实现 Shell 脚本的功能。subprocess模块提供多种方法来实现执行 Linux 的命令,例如subprocess.call()方法,...

python中如何调用shell 中OS.SYSTEM等方法
1.2 os.popen(command,mode) 打开一个与command进程之间的管道。这个函数的返回值是一个文件对象,可以读或者写(由mode决定,mode默认是’r')。如果mode为’r',可以使用此函数的返回值调用read()来获取command命令的执行结果。1.3 commands.getstatusoutput(command) 使用os.popen()函数执行command...

如何在Python shell界面中执行编写好的.py文件
打开我们的Python shell界面,如图所示。编写一个.py文件,相信用到这个技巧的小伙伴们已经会建立工程了吧,这里建立了一个温度单位转换脚本。将文件名保存成“TempConvert”。回到界面shell界面中,我们输入一下代码: 其基本格式是:import 脚本文件名 注意我们的脚本文件要和Python.exe放在同一个目录下啊...

python 怎么调用命令实现
在Python\/wxPython环境下,执行外部命令或者说在Python程序中启动另一个程序的方法 1、os.system(command)os.system()函数用来运行shell命令。此命令可以方便的调用或执行其他脚本和命令 打开指定的文件 >>>os.system('notepad *.txt')2、wx.Execute(command, syn=wx.EXEC_ASYNC, callback=None)若置...

相似回答