技術を楽しもう!

IT(ネットワーク)業界を中心に、仕事や趣味等、色々な技術を記録します。

Pythonから他のPythonを引数付きで実行する

f:id:takashi-tobey:20200708165024j:plain

既存のスクリプト実行前に、処理を追加したいが、 既存のスクリプトは変更したくない!ということがあると思います。

スクリプトを呼び出す形にすれば、 既存のスクリプトを変更せずに、処理を追加することができます。

普段は下記のように実行していたとします。

./sagyouA.py 10.0.0.1 hogehoge

呼び出し元となるスクリプトを用意します。 サンプルなのであまり意味の無い内容になっていますが、 既存のスクリプトを変えずに、実行する条件を付けたりできます。

[jizen.py]

#!/usr/bin/python
import subprocess

pram = sys.argv

address = param[1]
value = param[2]

command = ["/home/user/sagyouA.py", address, value]

if value == "hogehoge"
 subprocess.call(command)

subprocessを使う方法ですと、importされただけで実行されないための、 下記構文が含まれるスクリプトでも実行させることができます。

if __name__ == "__main__":

実行するときは新しく作ったスクリプトを実行すればOKです。

./jizen.py 10.0.0.1 hogehoge