[Python]在python中调用shell脚本,并传入参数-02python操作shell实例
首先创建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 执行结果如下:
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脚本,效果如下:
348-G4:~$ python3 pp.py Please Input Two Arguments -HP-348-G4:~$ python3 pp.py 曹操 刘备 hello world 曹操 刘备
相关推荐
以梦为马不负韶华 2020-10-20
libao 2020-09-16
xiaonamylove 2020-08-16
huha 2020-10-16
laisean 2020-11-11
大牛牛 2020-10-30
firefaith 2020-10-30
liguojia 2020-10-20
wangzhaotongalex 2020-10-20
JohnYork 2020-10-16
Julyth 2020-10-16
applecarelte 2020-10-16
laisean 2020-09-27
flycappuccino 2020-09-27
liguojia 2020-09-27
wangzhaotongalex 2020-09-22
流年浅滩 2020-10-23
liujianhua 2020-10-22
woaimeinuo 2020-10-21
tufeiax 2020-09-03
laisean 2020-09-01
vvu 2020-09-16
Yyqingmofeige 2020-08-18