メインと異なる入力引数(私は を使用)の両方を持つ2つのPythonスクリプトAとがあります。通常は次のように起動します。Bargparse
$ python A.py --paramA1 valA1 --paramA2 valA2
$ python B.py --paramB1 valB1 --paramB2 valB2
B内部から呼び出して、起動時にパラメータAを指定できるようにしたいです。要するに、のパラメータと のパラメータで呼び出したいのです。外から見ると次のようになります。BAAAB
$ 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.pyB.pyA.pyB.py
編集 2:B.pyのパラメーターの 1 つをで作成する必要があることを忘れていたA.pyので、実行順序は であり、Aにパラメーターを渡すことができる必要があります。BAB