我有两个 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的方法呢?argparseAB
编辑:为了简化事情,这里有一些示例代码:
一个.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。