Большинство полезных модулей Python из стандартной библиотеки? [закрытый]

Внимание на urllib2 для этого, это работает вполне хорошо. Не смешивайте с httplib, это не API верхнего уровня.

то, Что Вы отмечаете, - то, что urllib2 не следует за перенаправлением.

необходимо свернуться в экземпляре HTTPRedirectHandler, который будет ловить и следовать за перенаправлениями.

Далее, можно хотеть разделить значение по умолчанию на подклассы HTTPRedirectHandler для получения информации, которую Вы тогда проверите как часть Вашего поблочного тестирования.

cookie_handler= urllib2.HTTPCookieProcessor( self.cookies )
redirect_handler= HTTPRedirectHandler()
opener = urllib2.build_opener(redirect_handler,cookie_handler)

можно тогда использовать этот opener объект к POST и ДОБРАТЬСЯ, обработав перенаправления и cookie правильно.

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

55
задан Joel Coehoorn 9 December 2011 в 18:26
поделиться

13 ответов

Модули, которые нужно охватить в 1-2-часовой интервал, полностью зависят от интересов или направленности вашей аудитории. Какие еще уроки они посещают? Что они готовы использовать немедленно?

Не забудьте упомянуть math , decimal и datetime и time и re .

Для ИТ-специалистов, которые будут выполнять работу с файлами: glob , fnmatch , os , os.path , tempfile и shutil .

Пользователи баз данных должны знать о sqlite и json .

] Аудитория моделирования может захотеть услышать о random .

Веб-разработчики должны услышать о urllib2 с точки зрения клиента.

41
ответ дан 26 November 2019 в 17:45
поделиться

Я бы поставил некоторый вес на десятичный модуль . Если они новички в программировании, они наверняка не будут знать о последствиях точности с плавающей запятой . Модуль decimal чрезвычайно полезен при работе с валютой или другими единицами, которые должны сохранять точную десятичную точность с помощью нескольких математических операций.

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

1
ответ дан 26 November 2019 в 17:45
поделиться

os и os.path: потому что это основные модули, которые потребуются любому для написания независимого от платформы кода на python, и студенты могут переключаться со сценария оболочки на сценарий python после изучения ОС и ОС. путь.

3
ответ дан 26 November 2019 в 17:45
поделиться

Помимо упомянутых вами, я нашел особенно полезными модули subprocess и sqlite3. Но я бы обязательно посоветовал студентам взглянуть на сам список стандартных библиотечных модулей. Кроме того, из модулей, не входящих в стандартную библиотеку, я бы упомянул numpy (или numarray) и pyparsing.

1
ответ дан 26 November 2019 в 17:45
поделиться

оператор , рядом с тем, что уже упоминалось.

4
ответ дан 26 November 2019 в 17:45
поделиться

Не забывайте о datetime, weakref, pickle, StringIO, heapq, может быть многопоточным.

И numpy также заслуживает упоминания, хотя он не из стандартной библиотеки.

3
ответ дан 26 November 2019 в 17:45
поделиться

Я бы добавил в список urllib2.

5
ответ дан 26 November 2019 в 17:45
поделиться

Это немного зависит от того, что они будут делать и на каком уровне они находятся. Некоторые модули, на которые я бы хотел, чтобы кто-то указал мне, когда я начинал, следующие:

  • StringIO - чтобы они не реализовали его заново, что они и сделают, если не обнаружат его.
  • logging - направить их на правильный путь, когда речь идет о распечатках отладки
  • pickle - чтобы они не пытались использовать XML повсюду.
  • xml.etree.ElementTree - Чтобы спасти их от модели DOM, когда им действительно нужно работать с XML.
  • pprint - чтобы сделать вложенные структуры в Python менее устрашающими.
6
ответ дан 26 November 2019 в 17:45
поделиться

Я бы выбрал несколько модулей, которые имеют наибольший смысл для обычного пользователя / программиста, выполняющего типичные компьютерные задачи. Таким образом, существует наибольшая вероятность того, что они действительно могут использовать python в свое свободное время.

На мой взгляд, большинство людей, скорее всего, выполнят операции с файлами, например, просмотр каждого файла в каталог и выполнить с ним какое-то действие.

Поэтому я бы сказал, что модули: os и os.path , вероятно, самые важные, а также упомянули glob, fnmatch и shutil ]. Кроме того, подпроцесс тоже может быть очень полезным, поскольку он имеет тенденцию использоваться в вышеупомянутом контексте.

Наконец, я бы выбрал optparse , так как он их получит очень быстро сделать пригодным для использования,

7
ответ дан 26 November 2019 в 17:45
поделиться

Взгляните на PyMOTW (Python-модуль недели). Хотя это не строго stdlib, это отличный ресурс очевидных и не столь очевидных жемчужин stdlib python. Более того, он также служит отличной документацией по введенным модулям.

18
ответ дан 26 November 2019 в 17:45
поделиться

Всего за один-два часа я бы представил easy_install и репозиторий PyPI : даже если их нет в стандартной библиотеке, они позволяют вам установить множество других внешних модулей, и это первое место, где искать, если вы не можете найти в стандартной библиотеке.

Кроме того, я бы представил numpy, re, doctest / unittest и, возможно, рассол.

5
ответ дан 26 November 2019 в 17:45
поделиться

Я бы предложил itertools и functools . Эти модули работают с абстракциями, которые встречаются повсюду в программировании, поэтому я думаю, что их полезно изучать. Среди более практических вещей могут быть очень полезны модули xml ( xml.dom , xml.sax ).

32
ответ дан 26 November 2019 в 17:45
поделиться

Я думаю, что все здесь получили все важные сущности, кроме sys. Если вы посмотрите на реальный код Python, sys, вероятно, один из наиболее часто используемых модулей (обычно из-за sys.version).

Также, это не совсем модуль, но я бы упомянул __future__.

И никто не должен использовать Python, не сделав import this.

2
ответ дан 26 November 2019 в 17:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: