码迷,mamicode.com
首页 > 编程语言 > 详细

[Python]在python中调用shell脚本,并传入参数-02python操作shell实例

时间:2019-12-03 14:22:44      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:shell   pre   lease   inf   yar   span   argv   直接   需要   

首先创建2个shell脚本文件,测试用.

  • test_shell_no_para.sh 运行时,不需要传递参数
  • test_shell_2_para.sh 运行时,需要传递2个参数

技术图片

   test_shell_no_para.sh 内容如下:

技术图片

   test_shell_2_para.sh内容如下

注意含有变量的字符串要用 双引号 括起来

技术图片

   直接在命令行运行 test_shell_2_para.sh 执行结果如下: 

wangju@wangju-HP-348-G4:~$ sh test_shell_2_para.sh para1 para2
hello world para1 para2 

 

通过python调用shell,实际操作:

  • 通过python 调用test_shell_no_para.sh脚本
In [29]: os.system(./test_shell_no_para.sh)                                   
hello world
Out[29]: 512
  •  python 调用test_shell_2_para.sh脚本,并传入2个参数 arg1和arg2
In [31]: arg1=pyarg1                                                          

In [32]: arg2=pyarg2 

In [35]: os.system(./test_shell_2_para.sh +arg1+ +arg2)                     
hello world pyarg1 pyarg2 
Out[35]: 0

注意:参数前后要有空格

如果参数前后没有空格会报下面的错:

命令行会将参数也视为脚本名字的一部分

技术图片

  •   在shell脚本中调用shell脚本,并传入参数(重点掌握)

  先创建1个python脚本,内容如下:

import os
import sys

if len(sys.argv)<3:
    print(Please Input Two Arguments)
    sys.exit(1)
arg0=sys.argv[1]
arg1=sys.argv[2]

os.system(./test_shell_2_para.sh +arg0+ +arg1)

  执行python脚本,效果如下:

wangju@wangju-HP-348-G4:~$ python3 pp.py
Please Input Two Arguments
wangju@wangju-HP-348-G4:~$ python3 pp.py 曹操 刘备
hello world 曹操 刘备 

 

 

[Python]在python中调用shell脚本,并传入参数-02python操作shell实例

标签:shell   pre   lease   inf   yar   span   argv   直接   需要   

原文地址:https://www.cnblogs.com/kaerxifa/p/11976025.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!