メインと異なる入力引数(私は を使用)の両方を持つ2つのPythonスクリプトA
とがあります。通常は次のように起動します。B
argparse
$ python A.py --paramA1 valA1 --paramA2 valA2
$ python B.py --paramB1 valB1 --paramB2 valB2
B
内部から呼び出して、起動時にパラメータA
を指定できるようにしたいです。要するに、のパラメータと のパラメータで呼び出したいのです。外から見ると次のようになります。B
A
A
A
B
$ python A.py --paramA1 valA1 --paramA2 valA2 --paramB1 valB1 --paramB2 valB2
B
のargparse
コードをコピーして貼り付けてA
から呼び出すよりもエレガントな方法はありB
ますか?
編集:物事を簡単にするために、ここにいくつかのサンプルコードがあります:
A.py:
import argparse
def main():
parser = argparse.ArgumentParser(description="Args for A.py")
parser.add_argument("--param1A", type=int)
parser.add_argument("--param2A", type=int)
args = parser.parse_args()
valA1 = args.param1A
valA2 = args.param2A
...
return 0
B.py:
import argparse
def main():
parser = argparse.ArgumentParser(description="Args for B.py")
parser.add_argument("--param1B", type=int)
parser.add_argument("--param2B", type=int)
args = parser.parse_args()
valA1 = args.param1B
valA2 = args.param2B
...
return 0
とC.py
の両方の引数を含む、提案された は正確にはどのようなものでしょうか? そして、その時、どのように見えますか?A.py
B.py
A.py
B.py
編集 2:B.py
のパラメーターの 1 つをで作成する必要があることを忘れていたA.py
ので、実行順序は であり、A
にパラメーターを渡すことができる必要があります。B
A
B