没有办法
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)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)