我们的程序越来越复杂:
现在输出:
- 我们带回了一个立场论据,因此投诉。
- 请注意,顺序无关紧要。
我们如何让我们的这个程序能够拥有多个详细值,并实际使用它们:
和输出:
除了最后一个,这些都很好,它暴露了我们程序中的一个错误。 让我们通过限制 选项可以接受的值来修复它:
和输出:
请注意,更改还反映在错误消息和帮助字符串中。
现在,让我们使用一种不同的方法来处理冗长,这很常见。 它还匹配 CPython 可执行文件处理其自己的详细参数的方式(检查 的输出):
我们引入了另一个动作“计数”,用于计算特定选项的出现次数。
- 是的,它现在更像是我们脚本先前版本中的一个标志(类似于 )。 这应该可以解释投诉。
- 它的行为也类似于“store_true”动作。
- 现在这里演示了“计数”操作的作用。 您以前可能见过这种用法。
- 如果您不指定 标志,则该标志被认为具有 值。
- 正如预期的那样,指定标志的长格式,我们应该得到相同的输出。
- 遗憾的是,我们的帮助输出对于我们的脚本获得的新功能的信息并不是很丰富,但这总是可以通过改进我们脚本的文档来解决(例如 通过 关键字参数)。
- 最后一个输出暴露了我们程序中的一个错误。
让我们修复:
这就是它给出的:
- 第一次输出进展顺利,并修复了我们之前遇到的错误。 也就是说,我们希望任何 >= 2 的值都尽可能冗长。
- 第三个输出不太好。
让我们修复这个错误:
我们刚刚引入了另一个关键字,。 我们将其设置为 以使其与其他 int 值具有可比性。 请记住,默认情况下,如果未指定可选参数,它将获取 值,并且无法与 int 值进行比较(因此出现 TypeError 异常)。
和:
仅凭我们迄今为止所学的知识,您就可以走得更远,而我们只是触及了皮毛。 argparse 模块非常强大,在结束本教程之前,我们将对其进行更多探讨。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/11955.html