Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用;“更好的选择”;从python库中,有列表吗?_Python_Command Line Arguments_Argparse_Getopt_Optparse - Fatal编程技术网

&引用;“更好的选择”;从python库中,有列表吗?

&引用;“更好的选择”;从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

我刚刚发现OPTPASE模块的存在。我个人总是使用getopt,所以我不想寻找更好的东西。不过,很明显,optpass要先进得多,因此我希望它是将来从命令行获取选项的首选方式

不管怎样,这件事让我震惊。我现在想知道是否有一些模块或函数我从一开始就在使用,它们在标准库中有更好的替代品。有没有像“以前的解决方案:getopt.better解决方案:optpasse(自python 2.x以来)”这样一个紧凑、快速的浏览列表

按约定编辑标记为CW的

  • 解析命令行选项: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,我知道了。谢谢你的解释。