Python中的迭代命令行参数

时间:2015-03-03 09:41:29

标签: python command-line-arguments

我正在使用Python 2.7.9并使用argparse模块进行命令行参数。我想扩展我的代码,以便它能够根据用户在同一命令行中给出的参数来获取命令行参数。可以说,参数是-a,-b,-c,-d 如果用户提供-a <value>,那么只有他应该能够输入-x <value>,同样适用于其他情况。如果用户输入-b <value>,那么只有他应该能够输入-y <value>。 任何人都可以帮我这个。 谢谢!

2 个答案:

答案 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

祝你好运!