当前位置:网站首页 > 技术博客 > 正文

argphe



我们的程序越来越复杂:

现在输出:

  • 我们带回了一个立场论据,因此投诉。
  • 请注意,顺序无关紧要。

我们如何让我们的这个程序能够拥有多个详细值,并实际使用它们:

和输出:

除了最后一个,这些都很好,它暴露了我们程序中的一个错误。 让我们通过限制 选项可以接受的值来修复它:

和输出:

请注意,更改还反映在错误消息和帮助字符串中。

现在,让我们使用一种不同的方法来处理冗长,这很常见。 它还匹配 CPython 可执行文件处理其自己的详细参数的方式(检查 的输出):

我们引入了另一个动作“计数”,用于计算特定选项的出现次数。

  • 是的,它现在更像是我们脚本先前版本中的一个标志(类似于 )。 这应该可以解释投诉。
  • 它的行为也类似于“store_true”动作。
  • 现在这里演示了“计数”操作的作用。 您以前可能见过这种用法。
  • 如果您不指定 标志,则该标志被认为具有 值。
  • 正如预期的那样,指定标志的长格式,我们应该得到相同的输出。
  • 遗憾的是,我们的帮助输出对于我们的脚本获得的新功能的信息并不是很丰富,但这总是可以通过改进我们脚本的文档来解决(例如 通过 关键字参数)。
  • 最后一个输出暴露了我们程序中的一个错误。

让我们修复:

这就是它给出的:

  • 第一次输出进展顺利,并修复了我们之前遇到的错误。 也就是说,我们希望任何 >= 2 的值都尽可能冗长。
  • 第三个输出不太好。

让我们修复这个错误:

我们刚刚引入了另一个关键字,。 我们将其设置为 以使其与其他 int 值具有可比性。 请记住,默认情况下,如果未指定可选参数,它将获取 值,并且无法与 int 值进行比较(因此出现 TypeError 异常)。

和:

仅凭我们迄今为止所学的知识,您就可以走得更远,而我们只是触及了皮毛。 argparse 模块非常强大,在结束本教程之前,我们将对其进行更多探讨。

版权声明


相关文章:

  • ldap server2024-11-19 18:01:03
  • c语言结构体怎么初始化2024-11-19 18:01:03
  • 目前主流的中间件标准2024-11-19 18:01:03
  • 滑动验证码怎么做2024-11-19 18:01:03
  • socks5代理端口设置2024-11-19 18:01:03
  • spring cloud gateway 服务发现2024-11-19 18:01:03
  • usermod-c2024-11-19 18:01:03
  • bzero函数使用方法2024-11-19 18:01:03
  • css 栅格2024-11-19 18:01:03
  • emule服务器地址列表地址2024-11-19 18:01:03