我有一个foo.py使用argparse来获取main()函数的命令行参数。如何使用argparse将参数传递给python函数?
""" foo.py """ import argparse def main(): parser = argparse.ArgumentParser(description='test') parser.add_argument('--all', '-a', action='store_true', help='all') args = parser.parse_args() if args.all: pass if __name__ == '__main__': main()
而且我必须在另一个Python脚本bar.py上测试这个main()函数。我的问题是如何在bar.py中传递参数。我目前的解决方案是改变sys.argv。寻找更好的解决方案。
""" bar.py """ import sys import foo if __name__ == '__main__': sys.argv.append('-a') foo.main()
你是否试图从'foo.py'将参数变为'bar.py'?为什么不把'parser'移动到'bar.py'? – TheF1rstPancake
@ Jalepeno112由于foo.py可能是一个独立的模块。 – northtree