我有一個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