我正在使用Python 2.7.9并使用argparse模块进行命令行参数。我想扩展我的代码,以便它能够根据用户在同一命令行中给出的参数来获取命令行参数。可以说,参数是-a,-b,-c,-d
如果用户提供-a <value>
,那么只有他应该能够输入-x <value>
,同样适用于其他情况。如果用户输入-b <value>
,那么只有他应该能够输入-y <value>
。
任何人都可以帮我这个。
谢谢!
答案 0 :(得分:1)
一种方法是使用parse_known_args
分两步解析args,例如:
ap = argparse.ArgumentParse()
ap.add_argument('-a')
args, unknown = ap.parse_known_args()
if args.a and '-x' in unknown:
ap.add_argument('-x')
args = ap.parse_args()
答案 1 :(得分:-1)
在设计命令行参数时,请遵循* nix系统中使用的最佳实践/标准。
如果您正在寻找使用argparse
的示例,请参阅此link