Python 调用shell脚本,
Python 自定义函数,
Python 调用shell命令其中命令参数为python脚本中的变量
举例:
shell的脚本:
t.sh内容:echo "this is a test shell with arguments"echo "arg1 = $1; arg2 = $2;"
[noncode@gnode108 knockdown_workflow]$ ./t.sh zhao1 zhao2
this is a test shell with arguments
arg1 = zhao1; arg2 = zhao2;
python脚本:
[noncode@gnode108 knockdown_workflow]$ cat t.py
#!/usr/bin/env python
import os
import sys
# define function, next is a block, every line begins with a 'table' !
def main():
print 'Hello world!'
if len(sys.argv) < 2 :
print "usage:%s config log" %(sys.argv[0])
sys.exit(1)
arg0 = sys.argv[0] # 获取python脚本的运行时的input参数
arg1 = sys.argv[1]
print "arg0 = %s; arg1 = %s" % (arg0, arg1)
os.system('./t.sh ' + arg0 + ' ' + arg1) # 调用shell 命令,用python的变量
# end definition of function
main() # call the function
#!/usr/bin/env python
import os
import sys
# define function, next is a block, every line begins with a 'table' !
def main():
print 'Hello world!'
if len(sys.argv) < 2 :
print "usage:%s config log" %(sys.argv[0])
sys.exit(1)
arg0 = sys.argv[0] # 获取python脚本的运行时的input参数
arg1 = sys.argv[1]
print "arg0 = %s; arg1 = %s" % (arg0, arg1)
os.system('./t.sh ' + arg0 + ' ' + arg1) # 调用shell 命令,用python的变量
# end definition of function
main() # call the function
运行脚本:python t.py t.sh
执行结果:
[noncode@gnode108 knockdown_workflow]$ python t.py t.sh (t.py是第0个参数,t.sh是第1个参数)
Hello world! (python显示)arg0 = t.py; arg1 = t.sh(python显示)arg1 = t.py; arg2 = t.sh;(shell显示)
说明:
把输入的“t.py t.sh“当成参数,
使用python脚本调用shell脚本方法:(
推荐
)
os.system('./t.sh ' + arg0 + ' ' + arg1)
注:./t.sh后面有一个或者多个空格,arg0和arg1之间也要加一个空格。