Programmēšana

24 Python bibliotēkas katram Python izstrādātājam

Vai vēlaties labu iemeslu veiksmīgam Python programmēšanas valodas panākumam? Nemeklējiet tālāk Python pieejamo plašo bibliotēku kolekciju - gan vietējās, gan trešo pušu bibliotēkas. Lai gan tur ir tik daudz Python bibliotēku, nav pārsteigums, ka daži nepievērš visu pelnīto uzmanību. Turklāt programmētāji, kas strādā tikai vienā domēnā, ne vienmēr zina par labumiem, kas viņiem pieejami cita veida darbiem.

Šeit ir 24 Python bibliotēkas, kuras, iespējams, esat aizmirsis, bet noteikti ir vērts jūsu uzmanību. Šie dārgakmeņi ir noderīgi, vienkāršojot visu, sākot ar piekļuvi failu sistēmai, datu bāzes programmēšanu un darbu ar mākoņpakalpojumiem, beidzot ar vieglu tīmekļa lietotņu izveidi, GUI izveidošanu un darbu ar attēliem, e-grāmatām un Word failiem - un vēl daudz ko citu. Daži no tiem ir labi zināmi, citi ir mazāk zināmi, taču visas šīs Python bibliotēkas ir pelnījušas vietu jūsu rīkjoslā.

Apache Libcloud

Ko Libcloud dara: Piekļūstiet vairākiem mākoņu nodrošinātājiem, izmantojot vienu, konsekventu, vienotu API.

Kāpēc izmantot Libcloud: Ja iepriekš minētais Apache Libcloud apraksts neliek jums no prieka aplaudēt ar rokām, tad neesat mēģinājis strādāt ar vairākiem mākoņiem. Visi mākoņpakalpojumu sniedzēji mīl darīt lietas savā veidā, padarot vienotu mehānismu, kā rīkoties ar desmitiem pakalpojumu sniedzēju, ir milzīgs laika ietaupījums un galvassāpes. API ir pieejami skaitļošanai, glabāšanai, slodzes līdzsvarošanai un DNS, nodrošinot atbalstu Python 2.x un Python 3.x, kā arī PyPy, veiktspēju palielinošo JIT kompilatoru Python.

Bultiņa

Ko bulta dara: Tīrāka datumu un laiku apstrāde Python.

Kāpēc izmantot bultiņu: Darbība ar laika joslām, datumu konvertēšanu, datumu formātiem un visu pārējo jau ir pusotra galvassāpes. Iemest Python standarta bibliotēku datuma / laika darbam, un jūs saņemat divas ar pusi galvassāpes.

Bultiņa sniedz četras lielas priekšrocības. Pirmkārt, bultiņa ir nomaināma Python datalaika moduļa nomaiņa, kas nozīmē, ka kopējās funkcijas izsaukumi patīk . tagad () un .utcnow () strādā kā paredzēts. Otrkārt, bultiņa nodrošina metodes kopīgām vajadzībām, piemēram, laika joslu maiņai un konvertēšanai. Treškārt, bultiņa sniedz “humanizētu” informāciju par datumu / laiku, piemēram, bez īpašas piepūles var pateikt, ka kaut kas noticis “pirms stundas” vai “pēc divām stundām”. Ceturtkārt, bultiņa var lokalizēt informāciju par datumu / laiku, nesalaužot sviedrus.

Lūk

Ko dara: Izturīgs atbalsts drukas stila atkļūdošanai Python.

Kāpēc izmantot Lūk: Ir viens vienkāršs veids, kā atkļūdot Python vai gandrīz jebkuru programmēšanas valodu šajā jautājumā: ievietojiet rindā izdrukāt paziņojumi. Bet, lai gan drukāšanas atkļūdošana mazajās programmās nav problēma, nav tik vienkārši iegūt noderīgus rezultātus lielos, plašos, daudzmoduļos projektos.

Redziet rīku komplektu kontekstuālajai atkļūdošanai, izmantojot izdrukas paziņojumus. Tas ļauj uzlikt vienotu izejas izskatu, atzīmēt rezultātus, lai tos varētu kārtot, izmantojot meklēšanu vai filtrus, un nodrošināt kontekstus starp moduļiem, lai funkcijas, kas radušās vienā modulī, varētu pareizi atkļūdot citā. Lūk, tiek apstrādāti daudzi izplatīti specifiski Python scenāriji, piemēram, objekta iekšējās vārdnīcas drukāšana, ligzdoto atribūtu atklāšana un rezultātu glabāšana un atkārtota izmantošana salīdzināšanai citos atkļūdošanas procesa punktos.

Melns

Ko Black dara: Formatē Python kodu saskaņā ar stingru un gandrīz pilnīgi nemainīgu noteikumu kopumu.

Kāpēc izmantot melno: Python koda formatētājiem, piemēram, YAPF, parasti ir daudz konfigurējamu opciju - līnijas garums, līnijas sadalīšanas opcijas, aiz komatu apstrāde utt. Melnais piemēro konsekventu noklusējuma kopu tiem noteikumiem, kurus nevar mainīt. Iegūtais formatētais kods ir pēc iespējas konsekventāks kodu bāzēs un starp lietotājiem, un rediģētajos failos ir pēc iespējas mazāk atšķirību.

Melnais ir nedaudz jāpierod, it īpaši, ja jūs esat neprātīgs par vertikālo atstarpi, paziņojumiem ar dziļu ligzdošanu (piemēram, sarakstiem sarakstos) un citām formatēšanas opcijām. Bet ilgtermiņā tas atbrīvo jūs no domāšanas par formatēšanu, ļaujot koncentrēties kodam.

Pudele

Ko pudele dara: Vieglas un ātras tīmekļa lietotnes.

Kāpēc lietot pudeli: Ja vēlaties izveidot ātru RESTful API vai izmantot tīmekļa struktūras tukšos kaulus, lai izveidotu lietotni, spējīga, tomēr sīka pudele dod jums ne vairāk kā nepieciešams. Maršrutēšana, veidnes, piekļuve pieprasījumu un atbilžu datiem, vairāku serveru tipu atbalsts no vienkārša vecā CGI uz augšu un vairāk uzlabotu funkciju, piemēram, WebSockets, atbalsts - tas viss ir šeit. Darba sākšanai nepieciešamais darba apjoms ir arī minimāls, un pudeles dizains ir eleganti paplašināms, kad nepieciešamas uzlabotas funkcijas. 

Klikšķis

Ko dara klikšķis: Ļauj ātri izveidot komandrindas saskarnes Python lietotnēm.

Kāpēc izmantot klikšķi: GUI ir ērti, taču CLI ir īstā jauda. Tomēr spēcīga CLI izveide diez vai ir vienkārša, un noklusējuma rīku kopa komandrindas opciju apkopošanai un izmantošanai Python ir primitīva.

Noklikšķinot, šie gabali tiek iesaiņoti augsta līmeņa CLI konstrukcijas API. Ja vēlaties vienkārši izveidot dažas pamata komandas, to varat izdarīt ar pāris koda rindiņām. Ja vēlaties uzlabot darbību, piemēram, aicināt atsevišķi iegūt vairāk informācijas par parametru vai iegūt vērtības no vides mainīgajiem, noklikšķiniet uz Noklikšķiniet uz. Klikšķis atbalsta arī termināla krāsas, izmantojotkolorāma bibliotēku, un to var paplašināt, izmantojot trešo pušu spraudņus.

EbookLib

Ko EbookLib dara: Lasiet un rakstiet .epub failus.

Kāpēc izmantot EbookLib:Lai izveidotu e-grāmatas, parasti ir jāmaina viens vai otrs komandrindas rīks. EbookLib nodrošina pārvaldības rīkus un API, kas vienkāršo procesu. Tas darbojas ar EPUB 2 un EPUB 3 failiem, ar Kindle atbalstu tiek izstrādāts.

Norādiet attēlus un tekstu (pēdējais HTML formātā), un EbookLib var salikt šos gabalus e-grāmatā, kurā ir nodaļas, ligzdots satura rādītājs, attēli, HTML marķējums utt. Tiek atbalstīti arī vāka, mugurkaula un stila lapas dati. Spraudņu sistēma ļauj trešajām pusēm paplašināt bibliotēkas rīcību.

Ja jums nav nepieciešams viss, ko EbookLib var piedāvāt, izmēģiniet Mkepub. Mkepub bibliotēkā, kas ir tikai dažu kilobaitu liela, iepako e-grāmatu pamata montāžas funkcionalitāti. Viens neliels Mkepub trūkums ir tas, ka tam ir nepieciešama Jinja2, kurai savukārt ir nepieciešama bibliotēka MarkupSafe.

Gooey

Ko Gooey dara: Piešķiriet konsolei balstītai Python programmai platformas dzimtās GUI.

Kāpēc izmantot Gooey: Viens no labākajiem veidiem, kā atturēt lietojumprogrammas lietošanu, ir komandrindas lietotāju parādīšana lietotājiem, īpaši ierindas un datņu lietotājiem. Tikai daži, izņemot to, kā izdomāt, kādas iespējas un kādā secībā pāriet. Gooey ņem argumentus, ko sagaida argparse bibliotēka, un iepazīstina tos ar lietotājiem kā GUI formu, izmantojot WxPython bibliotēku. Visas opcijas ir apzīmētas un parādītas ar atbilstošām vadīklām (piemēram, vairāku opciju nolaižamo izvēlni). Lai tas darbotos, ir nepieciešams ļoti maz papildu kodēšanas - viens iekļauts un viens dekorators - pieņemot, ka jūs jau izmantojat argparse.

Izsaukt

Ko Invoke dara: Pythonic attālā izpilde - t.i., veiciet administratora uzdevumus, izmantojot Python bibliotēku.

Kāpēc izmantot Invoke: Izmantojot Python kā parasto čaulas skriptu uzdevumu aizstājēju, ir jēga. Invoke nodrošina augsta līmeņa API, lai palaistu čaulas komandas un pārvaldītu komandrindas uzdevumus tā, it kā tās būtu Python funkcijas, ļaujot šos uzdevumus iegult savā kodā vai eleganti ap tiem veidot. Vienkārši esiet piesardzīgs, lai nepieļautu neuzticamu ievadi jebkādām čaulas komandām.

Nuitka

Ko Nuitka dara:Apkopojiet Python patstāvīgos C izpildāmajos failos.

Kāpēc lietot Nuitka: Tāpat kā Cython, arī Nuitka kompilē Python C. Tomēr, tā kā Cython labāku rezultātu iegūšanai ir nepieciešama sava pielāgotā sintakse un galvenā uzmanība tiek pievērsta matemātikas un statistikas lietojumprogrammām, Nuitka strādā ar jebkuru Python programmu, kāda tā ir, apkopo to C un izveido vienu -file izpildāmā, piemērojot optimizācijas, ja tas var pa ceļam. Nuitka joprojām ir agrīnā stadijā, un daudzas no plānotajām optimizācijām vēl ir priekšā. Neskatoties uz to, tas ir ērts veids, kā Python skriptu pārvērst par ātru komandrindas lietotni.

Numba

Ko Numba dara:Selektīvi paātrina matemātiski intensīvās funkcijas.

Kāpēc lietot Numba:Python pasaulē ir iekļauta vesela paku subkultūra matemātikas darbību paātrināšanai. Piemēram, NumPy darbojas, iesaiņojot ātrgaitas C bibliotēkas Python saskarnē, un Cython kompilē Python uz C ar izvēles rakstīšanu, lai paātrinātu veiktspēju. Bet Numba ir viegli ērtākais, jo tas ļauj selektīvi paātrināt Python funkcijas, izmantojot tikai dekoratoru. Lai turpinātu palielināt ātrumu, varat izmantot kopīgas Python idiomas, lai paralēli darbplūsmas, vai arī izmantot SIMD vai GPU instrukcijas.

Ņemiet vērā, ka NumPy varat izmantot kopā ar Numba. Galu galā NumPy ir daudz algoritmu, kas nav pieejami, kurus nav nepieciešams ieviest no nulles. Bet maziem “kodola” algoritmiem Numba daudzos gadījumos pārspēs NumPy daudzkārt.

Openpyxl

Ko Openpyxl dara: Lasa, raksta un manipulē ar Excel failiem.

Kāpēc izmantot OpenPyxl: Palūdziet kādam nosaukt trīs rīkus, kurus skaitļu drupinātāji izmanto savā darbā, iespējams, jūs iegūsit Python, R un Excel, ne vienmēr šādā secībā. Excel (vēl) nav vietējās Python savienojamības, taču trešo pušu pakotnes dažādos veidos ir samazinājušas plaisu.

Openpyxl darbojas, modificējot programmu Excelfailus nevis tieši manipulējot ar Excel. Izmantojot Openpyxl, varat automatizēt izklājlapu un darbgrāmatu izveidi, ģenerēt formulas, aizpildīt šūnas ar šīm formulām un veikt daudzas citas darbības. Varat arī mainīt Excel objektu īpašības, piemēram, šūnu stilus un nosacīto formatējumu. Ikviens, kurš pavada daudz laika, skatoties uz izklājlapām, šeit atradīs kaut ko noderīgu.

Peewee

Ko Peewee dara: Neliels ORM (objektu-relāciju kartētājs), kas atbalsta SQLite, MySQL un PostgreSQL ar daudziem paplašinājumiem.

Kāpēc izmantot Peewee: Ne visi mīl ORM; daži drīzāk atstās shēmas modelēšanu datu bāzes pusē un to darīs. Bet izstrādātājiem, kuri nevēlas pieskarties datu bāzēm, labi izveidota, neuzkrītoša ORM var būt laba lieta. Izstrādātājiem, kuri nevēlas tik pilnvērtīgu ORM kā SQL Alchemy, Peewee ir lieliski piemērots.

Peewee modeļus ir viegli konstruēt, savienot un manipulēt. Turklāt daudzas parastās vaicājumu manipulēšanas funkcijas, piemēram, lapošana, ir iebūvētas tieši. Papildu funkcijas ir pieejamas kā papildinājumi, tostarp paplašinājumi citām datu bāzēm, testēšanas rīki un shēmas migrēšanas sistēma - funkcija, kuru pat ORM nīdējs varētu iemācīties mīlestība. Ņemiet vērā, ka Peewee 3.x filiāle (ieteicamais izdevums) nav pilnībā savietojama ar iepriekšējām Peewee versijām.

Spilvens

Ko spilvens dara: Attēlu apstrāde bez sāpēm.

Kāpēc izmantot spilvenu: Lielākajai daļai Pythonistas lietotāju, kuri ir apstrādājuši attēlu apstrādi, būtu jāpārzina PIL (Python Imaging Library), taču PIL ir pilns ar trūkumiem un ierobežojumiem, un tas tiek atjaunināts reti. Spilvena mērķis ir abus vieglāk izmantot un ar kodu saderīgs ar PIL, veicot minimālas izmaiņas. Paplašinājumi ir iekļauti, lai runātu gan ar vietējām Windows attēlveidošanas funkcijām, gan ar Python Tcl / Tk atbalstīto Tkinter GUI pakotni. Spilvens ir pieejams, izmantojot GitHub vai PyPI krātuvi.

Dzeja

Ko dzeja dara: Pārvalda jūsu Python projektu atkarības un iepakojumu augsta līmeņa veidā.

Kāpēc izmantot dzeju: Teorētiski, lai sāktu jaunu Python projektu, jums nekas nav jādara, izņemot to, lai izveidotu tukšu direktoriju un aizpildītu to ar .py failiem. Praksē, it īpaši vērienīgam projektam, jums būs jādara daudz vairāk - jāizveido README, jāizveido kāda mapju struktūra, jāpaziņo savas atkarības utt. Darot to visu ar rokām, ir galvassāpes.

Dzeja automatizē lielu daļu šīs iestatīšanas un uzturēšanas. Palaist dzeja jauna lai izveidotu jaunu projekta direktoriju un virtuālo vidi, kurā iepriekš būtu ievietots pamata komponentu sortiments. Deklarējiet savas atkarības, izmantojot paša Python faila formātu pyprojec.toml, un dzeja tos pārvaldīs jūsu vietā. Esošo dzejas pārvaldīto produktu atkarības var automātiski instalēt, atsvaidzināt un modificēt no Poetry komandrindas. Dzeja veic arī publicēšanu attālā krātuvē (piemēram, PyPI).

PyFilesystem

Ko PyFilesystem dara: Pythonic saskarne jebkurai failu sistēmai -jebkurš failu sistēma.

Kāpēc izmantot PyFilesystem:PyFilesystem pamatideja nevar būt vienkāršāka: tāpat kā Python failu objekti abstrahē vienu failu, PyFilesystem’s FS objekti abstrakt visu failu sistēmu. Tas arī nenozīmē tikai diskā esošās failu sistēmas. PyFilesystem atbalsta arī FTP direktorijus, atmiņas failu sistēmas, failu sistēmas OS definētām vietām (piemēram, lietotāja direktoriju) un pat iepriekš minēto kombinācijas, kas pārklātas viena ar otru.

Papildus tam, ka PyFilesystem atvieglo starpplatformu koda, kas manipulē ar failiem, rakstīšanu, tiek novērsta nepieciešamība bruģēt skriptus no atšķirīgām standarta bibliotēkas daļām, galvenokārtos unio. Tas arī nodrošina utilītprogrammas, kuras citādi varētu būt nepieciešams izveidot no jauna, piemēram, rīks, kas paredzēts konsolei draudzīgu failu skatu koku drukāšanai.

Pygame

Ko Pygame dara: Izveidojiet videospēles vai spēļu kvalitātes front-endus Python.

$config[zx-auto] not found$config[zx-overlay] not found