以下是一个使用argparse模块的示例代码,要求用户输入要么一个标志(-f),要么两个或更多位置参数:
import argparse
def main():
parser = argparse.ArgumentParser()
parser.add_argument('-f', '--flag', action='store_true', help='a flag')
parser.add_argument('args', nargs='+', help='position arguments')
args = parser.parse_args()
if args.flag and len(args.args) < 2:
parser.error('At least two position arguments are required when using the flag.')
elif not args.flag and len(args.args) < 1:
parser.error('At least one position argument is required when not using the flag.')
# 进行其他操作
if __name__ == '__main__':
main()
在这个示例代码中,我们使用argparse模块创建了一个ArgumentParser对象,并添加了一个标志参数-f
(或--flag
),以及一个或多个位置参数args
。nargs='+'
表示args
是一个或多个参数。我们使用args.flag
来检查标志参数是否被设置,以及len(args.args)
来检查位置参数的数量。
如果用户没有提供足够的参数,我们使用parser.error()
方法抛出一个错误,并显示相关的错误信息。
你可以根据你的具体需求修改代码,例如修改标志参数的名称、增加其他参数等。