[Pythonは】Pythonでシェルスクリプトを呼び出すこと、および動作パラメータは-02pythonシェルのインスタンスを通過しました

まず、2つのシェルスクリプト、テストを作成します。

  • 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でシェルを呼び出すと、実際の動作:

  • test_shell_no_para.shを呼び出すことにより、Pythonスクリプト
では[ 29 ]:os.system(' ./test_shell_no_para.sh ' 
ハローワールド
・アウト[ 29 ]:512
  •  二つの引数を渡し、test_shell_2_para.sh Pythonスクリプトを呼び出し、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 曹操 刘备 

 

 

おすすめ

転載: www.cnblogs.com/kaerxifa/p/11976025.html