我有两个 python 脚本A
和B
,都有一个 main 和不同的输入参数(我使用argparse
)。我通常使用以下方式启动它们:
$ python A.py --paramA1 valA1 --paramA2 valA2
$ python B.py --paramB1 valB1 --paramB2 valB2
我希望能够B
从内部调用A
并在启动时指定B
's 参数A
。简而言之,我想A
用A
's 参数和B
's 参数调用。从外面看它应该是这样的:
$ python A.py --paramA1 valA1 --paramA2 valA2 --paramB1 valB1 --paramB2 valB2
有没有比将代码复制粘贴到然后调用它们更优雅B
的方法呢?argparse
A
B
编辑:为了简化事情,这里有一些示例代码:
一个.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
必须在 中创建A.py
,因此执行顺序是A
然后B
,并且A
必须能够将参数传递给B
。