【问题标题】:python getopt - what's the second returned list?python getopt - 第二个返回的列表是什么?
【发布时间】:2020-10-17 12:47:26
【问题描述】:

我正在学习 getops,但我不明白这种结构:

opts, argv = getopt.getopt(argv, "s:e:", ["start_date=", "end_date="])

我只是尝试打印 opts 和 argv 以进行调试。第一个变量 - opts 是使用的参数的键值对列表及其值,这对我来说很容易理解,但我完全不明白“argv”变量的目的。原始文档说:

第二个是选项列表后面留下的程序参数列表 被剥离(这是 args 的尾随切片)。

所以,当我像这样运行我的脚本时:python --argument AAA ggg argv 变量将存储带有一个元素“ggg”的列表,但是有什么用呢?你能给我任何用例吗?

【问题讨论】:

    标签: python getopt


    【解决方案1】:

    这适用于位置参数。它们通常用于引用某种输入或输出的文件名。

    假设您正在编写一个文本编辑器,您可以说所有位置参数都指向要在您的编辑器中打开的文件。

    顺便说一句,我不建议使用getoptargparse 做了所有 getopt 做的事情,但做得更好,并允许你做 getopt 做不到的事情。 Python 文档同意我的观点:

    getopt 模块是一个命令行选项解析器,其 API 旨在让 C getopt() 函数的用户熟悉。不熟悉 C getopt() 函数或希望编写更少代码并获得更好帮助和错误消息的用户应该考虑改用 argparse 模块。 (source)

    【讨论】:

      猜你喜欢
      • 2016-12-08
      • 1970-01-01
      • 2019-02-02
      • 2014-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-13
      • 1970-01-01
      相关资源
      最近更新 更多