你好,我正在学习使用argparse
。我的目标是构建一个命令行界面,主要命令接受参数并重定向到相应的命令函数。以下是我迄今为止所做的事情:
def main():
parser = argparse.ArgumentParser()
subparsers = parser.add_subparsers()
command1_parser = subparsers.add_parser('command1')
command1_parser.set_defaults(func=command1)
command1_parser.add_argument('--name', dest='name')
command2_parser = subparsers.add_parser('command2')
command2_parser.set_defaults(func=command2)
command2_parser.add_argument('--frequency', dest='frequency')
args = parser.parse_args()
def command1():
# do something with args.name
def command2():
# do something with args.frequency
if __name__ == '__main__':
main()
当我执行以下操作时:
entrypoint command1 --name Hello
或者:
entrypoint command2 --frequency 10
它未能捕捉到相应的
args
。我做错了什么?谢谢!
subparsers
set_defaults
示例。 - hpaulj