python参数解析器为列表类型inpu定义变量名

2024-09-25 00:26:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我可以选择读取用户输入的列表。列表可以具有随机长度。这是我的密码:

parser.add_argument('-at', '--addTests', metavar=('test_commands'), nargs='+')

使用“metavar”是给变量命名的一个好方法,但是当nargs没有固定时,它就不起作用了。你知道吗

我从这行得到的结果是:

-at test_command [test_command ...], --addTests test_command [test_command]

我希望结果只有“test\u command”显示一次。你知道吗


Tags: 方法用户testaddparser密码列表argument
1条回答
网友
1楼 · 发布于 2024-09-25 00:26:23

你弄糊涂了

 addTests test_command [test_command]

你认为这意味着[test_command]是一个参数列表。你知道吗

注意,[arg]符号用于可选参数。因为您已经使用了nargs='+',所以用户必须为-at/ addTests选项提供至少一个参数,并且 addTests的任何其他参数都是可选的。你知道吗

因此,使用:

 addTests test_command test_command2

调用脚本时:

args = parser.parse_args()

将提供以下已解析的参数:

Namespace(addTests=['test_command', 'test_command2']

然后您可以通过以下方式访问它们:

for command in args.addTests: 
    print command

或者(代替打印)您可以运行命令等

相关问题 更多 >