如何使用argparse.ArgumentParser在Python中从命令行传递和解析字符串列表?
- 论坛
- 如何使用argparse.ArgumentParser在Python中从命令行传递和解析字符串列表?
10 浏览
如何使用argparse.ArgumentParser在Python中从命令行传递和解析字符串列表?
我想从控制台将一个名字列表传递到我的Python程序中。例如,我想使用类似于下面的方式(我知道它不会起作用,因为涉及到bash
):
$ python myprog.py -n name1 name2
因此,我尝试了这段代码:
# myprog.py from argparse import ArgumentParser parser = ArgumentParser() parser.add_argument('-n', '--names-list', default=[]) args = parser.parse_args() print(args.names_list) # 我希望在这里得到 ['name1', 'name2']
结果导致了错误:
usage: myprog.py [-h] [-n NAMES_LIST] myprog.py: error: unrecognized arguments: name2
我知道我可以使用引号将名字传递进去 "name1 name2"
,然后在代码中进行拆分 args.names_list.split()
。但是我很好奇,是否有更好的方法通过argparse
模块传递字符串列表。
任何想法都将不胜感激。
谢谢!