python库中的“更好的选项”,有列表吗?

2024-05-04 00:11:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚刚发现了optparse模块的存在。我个人总是用getopt,所以我不想找更好的。但是,很明显,optparse更高级,所以我希望它将来成为从命令行获取选项的首选方法。在

不管怎样,这件事让我很震惊。我现在想知道是否有我从一开始就在使用的模块或函数,它们在标准库中有更好的选择。是否有这样一个紧凑和快速浏览的列表,就像“以前的解决方案:getopt”。更好的解决方案:optparse(从python2.x开始)“?在

编辑按约定标记为CW。在

  • 解析命令行选项:getopt、optparse、argparse
  • 包管理:distutils、setuptools

Tags: 模块方法函数命令行标记编辑列表标准
3条回答

不完全紧凑,只引用标准库(和标准Python的其他部分),而不涉及任何第三方包,这里有所有的"What's New in Python X.X?"文章。在

除此之外,谷歌,我不认为有任何这样的名单,除了在随机博客等。在

我建议这可能是一个很好的地方开始这样的名单

请注意,有pep389将optparse替换为argparse

{{cdr>最适合你使用

collections模块是一个很好的熟悉模块,因为它在Python3中有很多新东西

如果不需要保留列表,生成器表达式通常比列表理解更好

三元运算符b if a else c代替{}及其所有问题

multiprocessing替换您以前的任何其他方法;)

itertools.izip_longest避免在压缩不均匀的东西时使用变通方法

我不会绝对同意“optparsegetopt更好”的说法。如果optparse更适合你,这并不意味着某人不会觉得{}更好。它们有不同的用途:getopt更简单,在开始使用时需要较少的理解(特别是如果您熟悉来自其他来源的getopt:例如shell脚本),则optparse更强大,更详细。但是,如果我只需要获取一个或两个命令石灰参数,我甚至可以使用简单的if语句。在

总而言之,每种工具都有它的用途,而且每种情况都可能需要一种更适合这种情况的不同工具。在

相关问题 更多 >