&引用;“更好的选择”;从python库中,有列表吗?
我刚刚发现OPTPASE模块的存在。我个人总是使用getopt,所以我不想寻找更好的东西。不过,很明显,optpass要先进得多,因此我希望它是将来从命令行获取选项的首选方式 不管怎样,这件事让我震惊。我现在想知道是否有一些模块或函数我从一开始就在使用,它们在标准库中有更好的替代品。有没有像“以前的解决方案:getopt.better解决方案:optpasse(自python 2.x以来)”这样一个紧凑、快速的浏览列表 按约定编辑标记为CW的&引用;“更好的选择”;从python库中,有列表吗?,python,command-line-arguments,argparse,getopt,optparse,Python,Command Line Arguments,Argparse,Getopt,Optparse,我刚刚发现OPTPASE模块的存在。我个人总是使用getopt,所以我不想寻找更好的东西。不过,很明显,optpass要先进得多,因此我希望它是将来从命令行获取选项的首选方式 不管怎样,这件事让我震惊。我现在想知道是否有一些模块或函数我从一开始就在使用,它们在标准库中有更好的替代品。有没有像“以前的解决方案:getopt.better解决方案:optpasse(自python 2.x以来)”这样一个紧凑、快速的浏览列表 按约定编辑标记为CW的 解析命令行选项:getopt、optparse、a
- 解析命令行选项:getopt、optparse、argparse
- 包管理:distutils、setuptools
- 我建议这可能是一个开始这样一份清单的好地方
请注意,有pep389用argparse替换optparse
collections.defaultdict
在大多数您会使用的地方工作得更好dict.setdefault
collections模块是一个很好的熟悉模块,因为它在Python3中有很多新内容
如果不需要保留列表,生成器表达式通常比列表理解更好
三元运算符b如果a else c
而不是a和b或c
,则会出现所有问题
多处理
取代了您使用的任何其他方法;)
itertools.izip\u longest
避免了在压缩不均匀的内容时必须使用变通方法我不完全同意这样一句话“optpasse
比getopt
更好”。如果optpass
更适合您,并不意味着有人不会觉得getopt
更可取。它们用于不同的目的:getopt
更简单,开始使用时需要较少的理解(特别是如果您熟悉其他来源的getopt:例如shell脚本),optpasse
更强大,更详细。然而,如果我只需要获取一个或两个命令参数,我甚至可以使用简单的if
语句
总而言之,每种工具都有它的用途,每种情况都可能需要一种更适合这种情况的不同工具。不完全紧凑,只参考标准库(和标准Python的其他部分),而不参考任何第三方包,这里有所有的文章 除此之外,还有谷歌,我认为除了随机博客等等,没有任何这样的列表。我使用Richard Gruet的列表,它是Python所有内容的重要参考,包括标准库中一些更重要的部分。它通过使用颜色编码和注释,很好地改变了语言和图书馆的流行 例如,看一看,和
Python3还没有更新,但我满怀希望 好吧,假设我等了一段时间,如果有人从他的书签中拿出一个魔法列表。如果没有,我会修改问题,使之连续,这样我们就可以写一个确定的问题。我认为CW是个好主意。你在寻找Python2.6/7或Python3中的新东西吗?谷歌的主要问题是,你必须在搜索之前意识到某些东西的存在。我永远不会寻找getopt的替代品,因为我假设标准库中没有其他东西可以完成同样的任务idioms@Stefano鲍里尼:“你必须意识到某种东西的存在,然后才能去寻找它。”这是我很久以来听到的最好的借口。我会一直使用它,直到我的技能变得如此过时,我再也无法在软件行业找到一份有报酬的工作。一个不及时了解新闻、政治公众人物、图书馆变化等的绝妙借口。洛特:那么,你认为我在这里干什么?聊天,还是更新我的技能?顺便说一下,我也应该是一名量子化学家。所以,如果我在忙着写论文的时候不看政治公众人物,请原谅。在我的帖子中,better==有更多的功能。@Stefano Borini,我知道了。谢谢你的解释。