10 корисних Python бібліотек, про які ви не чули


Пакетів для Python створено вже дуже багато, тому жодна людина фізично не може вивчити їх все. Тільки PyPi налічує 47 000 пакетів. Тоді як pandas, scikit – learn або numpy у багатьох на слуху, про перераховані тут – вже досить старі, але все ще корисні – бібліотеки часто забувають.

Delorean

Це – відмінна бібліотека для роботи з датами і часом. Робота з часом за допомогою її в Python мені здається найбільш природною. Delorean чимось схожа на Moment.js. Так само варто відмітити відмінну документацію і незліченну кількість відсилань “Назад в майбутнє”.

from delorean import DeloreanEST = "US/Eastern" d = Delorean (timezone=EST)

Назад в майбутнє

Prettytable

Я майже упевнений, що про цю бібліотеку ви не чули, адже вона викладена на GoogleCode, який у світі коду є точним аналогом Сибіру.

Попри те, що вона була заслана в це холодне, засніжене і пустинне місце, Prettytable залишається відмінною бібліотекою для формування красивого виведення в термінал:

from prettytable import PrettyTabletable = PrettyTable (["тварина", " лютість"]) table.add_row (["Перевертень", 100]) table.add_row (["Грізлі", 87]) table.add_row (["Кролик з Кербенног", 110]) table.add_row (["Кіт", - 1]) table.add_row (["Качкодзьоб", 23]) table.add_row (["Дельфін", 63]) table.add_row (["Альбатрос", 44]) table.sort_key ("лютість") table.reversesort = True+----------------------+------------+| тварина | лютість |+----------------------+------------+| Кролик з Кербенног | 110 || Перевертень | 100 || Грізлі | 87 || Дельфін | 63 || Альбатрос | 44 || Качкодзьоб | 23 || Кіт | - 1 |+----------------------+------------+

Snowballstemmer

Гаразд, признаюся, перший раз я встановив snowballstemmer із-за крутої назви. Але виявилось, що це дійсно дуже зручна маленька бібліотечка. Вона містить алгоритми стемминга для 15 мов (включаючи російський).

from snowballstemmer import EnglishStemmer, SpanishStemmerEnglishStemmer ().stemWord ("Gregory") # GregoriSpanishStemmer ().stemWord ("amarillo") # amarill

Wget

Напевно вам ні раз доводилося писати методи для якоїсь специфічної роботи з вебом. Але я вас засмучу – ви робили це даремно. Адже вже є wget. Рекурсивно викачати сайт? Забрати із сторінки усі зображення? Для wget це не проблема.

import wgetwget.download ("http://www.cnn.com/") # 100% [............................................................................] 280385 / 280385

PyMC

А ця бібліотека призначена для Байесовского аналізу. З незрозумілих причин ця бібліотека використовується набагато рідше, ніж scikit - learn, адже дуже даремно.

from pymc.examples import disaster_modelfrom pymc import MCMCM = MCMC (disaster_model) M.sample (iter=10000, burn=1000, thin=10)[-----------------100%-----------------] 10000 of 10000 complete in 1.4 sec

Sh

Я не можу собі дозволити, щоб ви пішли з цієї сторінки, не знаючи о sh. Як можна здогадатися, sh імпортує в Python команди shell у вигляді функцій. Це – суперзручна можливість, коли ви пам’ятаєте, як зробити щось за допомогою bash, але не пам’ятаєте, як це реалізується на Python (наприклад, рекурсивний пошук по файлах).

from sh import findfind#02/tmp/foo/tmp/foo/file1.json/tmp/foo/file2.json/tmp/foo/file3.json/tmp/foo/bar/file3.json

Fuzzywuzzy

Ця бібліотека додає класних фич для порівняння даних. Може бути використана для зв’язку записів в різних базах даних.

from fuzzywuzzy import fuzzfuzz.ratio ("Hit me with your best shot", "Hit me with your pet shark") # 85

Progressbar

Так, так, ця бібліотека робить саме те, про що ви подумали – виводить прогрессбар.

from progressbar import ProgressBarimport timepbar = ProgressBar (maxval=10) for i in range (1, 11): pbar.update (i)
time.sleep (1) pbar.finish ()# 60% |######################################################## |

Colorama

Якщо вже ви займаєтеся додавання прогрессбаров у свої програми, то, може, варто додати ще трохи цуета? Впоратися з цим вам допоможе Colorama.

Colorama

Uuid

Напевно вам доводилося генерувати для користувачів ID, або розсилати покупцям промокоды, або робити ще щось, де треба створити унікальні послідовності. UUID вам в цьому допоможе:

import uuidprint uuid.uuid4 ()# e7bafa3d - 274e-4b0a - b9cc - d898957b4b61

І якщо ви переживаєте, що ID закінчаться, то не коштує: їх кількість порівнянно з кількістю атомів у всесвіті.

Джерело: blog.yhat.com

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *