Python:argparse可选参数,不带破折号

Python:argparse可选参数,不带破折号,第1张

Python:argparse可选参数,不带破折号

没有办法

argparse
为您做到这一点。但是,您可以
argparse
接受任意数量的位置参数:

parser.add_argument('FILES',nargs='*')options=parser.parse_args()file1,optional_files=options.FILES[0],options.FILES[1:]

当然,您可能需要添加一些检查以确保至少提供了1个文件,依此类推。

编辑

我仍然不确定100%在这里想要什么,但是如果

file1
file2
是文字字符串,则可以通过预处理来解决这一问题
sys.argv
。当然,这仍然会奇怪地格式化您的帮助消息,但是您总是可以添加一个Epilog来说明两种形式都可以:

import argparseimport sysmangle_args=('file1','file2')arguments=['--'+arg if arg in mangle_args else arg for arg in sys.argv[1:]]parser=argparse.ArgumentParser()parser.add_argument('--file1')parser.add_argument('--file2')options=parser.parse_args(arguments)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5668769.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存