«Лучший вариант» из библиотеки python, любой список? - PullRequest
0 голосов
/ 07 декабря 2009

Я только что узнал о существовании модуля optparse. Лично я всегда использовал getopt, поэтому мне было все равно искать что-то лучшее. Однако очевидно, что optparse гораздо более продвинутый, поэтому я ожидаю, что в будущем он станет предпочтительным способом получения параметров из командной строки.

В любом случае, это событие поразило меня. Теперь мне интересно, есть ли там модули или функции, которые я использую с незапамятных времен, у которых есть гораздо лучшие альтернативы в стандартной библиотеке. Есть ли такой компактный и быстрый для просмотра список, по вкусу «предыдущие решения: getopt. Лучшее решение: optparse (начиная с python 2.x)»?

Редактировать помечено как CW в соответствии с соглашением.

  • параметры синтаксического анализа командной строки: getopt, optparse, argparse
  • управление пакетами: distutils, setuptools

Ответы [ 4 ]

2 голосов
/ 07 декабря 2009

Я полагаю, это может быть хорошим местом для начала такого списка

обратите внимание, что есть pep389 для замены optparse на argparse

collections.defaultdict работает лучше в большинстве мест, которые вы бы использовали dict.setdefault

Модуль коллекций является хорошим для ознакомления, так как в нем есть много нового в Python3

Выражения генератора часто лучше, чем списки, если вам не нужно хранить список

Тернарный оператор b if a else c вместо a and b or c со всеми его проблемами

multiprocessing заменяет любой другой способ, которым вы это делали;)

itertools.izip_longest избавляет от необходимости использовать обходные пути, когда вы архивируете неровные вещи

1 голос
/ 07 декабря 2009

Не совсем компактный, и ссылающийся только на стандартную библиотеку (и другие части стандартного Python), но не на любые сторонние пакеты, есть все «Что нового в Python XX?» эссе.

Кроме этого, и Google, я не думаю, что есть такие списки, кроме как в случайных блогах и т. Д.

0 голосов
/ 07 декабря 2009

Я использую Python Quick Reference Ричарда Грюта, который является отличным справочником по всем вопросам Python, включая некоторые из наиболее важных частей стандартной библиотеки. Это делает хорошую работу по внесению изменений в язык и библиотеку с использованием цветовой кодировки и заметок.

Взгляните, например, на его раздел о getopt и список модулей и пакетов в базовом дистрибутиве .

Он еще не обновлен для Python 3, но я живу надеждой!

0 голосов
/ 07 декабря 2009

Я не совсем согласен с утверждением "optparse лучше, чем getopt". Если optparse подходит вам лучше, это не значит, что кто-то не найдет getopt более предпочтительным. Они предназначены для разных целей: getopt намного проще и требует меньшего понимания, чтобы начать использовать (особенно если вы знакомы с getopt из других источников: например, сценариев оболочки), optparse более мощный и более подробный. Однако, если мне нужно просто получить один или два параметра команды lime, я мог бы даже использовать простой оператор if.

Подводя итог, можно сказать, что каждый инструмент имеет свое назначение, и в каждой ситуации может потребоваться другой инструмент, который больше подходит для этой ситуации.

...