【问题标题】:Command line argument processing命令行参数处理
【发布时间】:2015-05-01 09:53:43
【问题描述】:

如何以允许以任意顺序命名多个文件并通过后缀发现这些文件类型的方式构建其命令行处理块?

在这个 Python 程序中,我需要将一个二进制文件和一个 .vhdr 文件都传递给我的命令行。 .vhdr 文件将被读入内存,而(大)二进制文件将被增量处理。我想以一种用户可以按任何顺序传递文件名的方式来构建它。在我看来,处理这个问题的一种智能方法是遍历 argv 中的每个项目,检查它是否具有“.vhdr”后缀,并使用具有此后缀的任何项目来保存到我的文件对象中。

是否有任何库具有此功能,或者我应该从头开始编写它吗?我无法在 argparse 库中找到类似的东西,但我是新手,所以我很容易就可以直接看它并且不理解。

【问题讨论】:

    标签: python parsing command-line


    【解决方案1】:

    使用众所周知的argparse 库。简单的例子

    import argparse
    parser = argparse.ArgumentParser()
    parser.add_argument("--vhdr", dest="vhdr_file")
    parser.add_argument("--bin", dest="bin_file")
    args = parser.parse_args()
    print(args)
    

    输出:

    $ python demo.py --vhdr 1 --bin 2
    Namespace(bin_file='2', vhdr_file='1')
    $ python demo.py  --bin 1 --vhdr 2
    Namespace(bin_file='1', vhdr_file='2')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-08
      • 1970-01-01
      • 1970-01-01
      • 2010-09-13
      • 2014-12-19
      • 1970-01-01
      • 2023-03-11
      相关资源
      最近更新 更多