在Python中调用shell命令及 获取python命令中的参数

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

运行脚本: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之间也要加一个空格。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值