abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 01:11 | Nová verze

    Po půl roce vývoje od vydání verze 48 bylo vydáno GNOME 49 s kódovým názvem Brescia (Mastodon). S přehrávačem videí Showtime místo Totemu a prohlížečem dokumentů Papers místo Evince. Podrobný přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 16:22 | Nová verze

    Open source softwarový stack ROCm (Wikipedie) pro vývoj AI a HPC na GPU od AMD byl vydán ve verzi 7.0.0. Přidána byla podpora AMD Instinct MI355X a MI350X.

    Ladislav Hagara | Komentářů: 0
    včera 15:22 | Nová verze

    Byla vydána nová verze 258 správce systému a služeb systemd (GitHub).

    Ladislav Hagara | Komentářů: 5
    včera 15:11 | Nová verze

    Byla vydána Java 25 / JDK 25. Nových vlastností (JEP - JDK Enhancement Proposal) je 18. Jedná se o LTS verzi.

    Ladislav Hagara | Komentářů: 0
    včera 14:44 | Humor

    Věra Pohlová před 26 lety: „Tyhle aféry každého jenom otravují. Já bych všechny ty internety a počítače zakázala“. Jde o odpověď na anketní otázku deníku Metro vydaného 17. září 1999 na téma zneužití údajů o sporožirových účtech klientů České spořitelny.

    Ladislav Hagara | Komentářů: 4
    včera 11:33 | Zajímavý článek Ladislav Hagara | Komentářů: 0
    16.9. 21:44 | Nová verze

    Byl vydán Mozilla Firefox 143.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Nově se Firefox při ukončování anonymního režimu zeptá, zda chcete smazat stažené soubory. Dialog pro povolení přístupu ke kameře zobrazuje náhled. Obzvláště užitečné při přepínání mezi více kamerami. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 143 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    16.9. 17:22 | Nová verze

    Byla vydána betaverze Fedora Linuxu 43 (ChangeSet), tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 21. října.

    Ladislav Hagara | Komentářů: 0
    16.9. 12:22 | Nová verze

    Multiplatformní emulátor terminálu Ghostty byl vydán ve verzi 1.2 (𝕏, Mastodon). Přehled novinek, vylepšení a nových efektů v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    16.9. 00:11 | Nová verze

    Byla vydána nová verze 4.5 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (47%)
     (53%)
     (0%)
     (7%)
     (13%)
     (7%)
     (20%)
     (7%)
     (13%)
    Celkem 15 hlasů
     Komentářů: 1, poslední včera 13:49
    Rozcestník

    Dotaz: python a modul pro databáze

    29.3.2007 17:27 Jáchym Čepický | skóre: 29 | blog: U_Jachyma
    python a modul pro databáze
    Přečteno: 2297×
    Zdravím,

    rád bych napsal v pythonu (wxPython) jednoduchou prohlížečku databázových dat. Jedná se o nijak přehnaně velké tabulky, které spolu nejsou nijak propojené. Skutečně jenom zobrazit všechna data, seřadit je, vybrat z nich potřebná, grafická sestatovačka SQL dotazů. Až posud všechno celkem jednoduché a v pořádku.

    "Problém" nastává v okamžiku, kdy se rozkoukávám, jaké že databázové rozhranní pro python mohu použít... Databázové tabulky mohou být uloženy v podstatě libovolném formátu: dbf,sqlite,postgresql,mysql,oracle, odbc obecně.

    Existuje nějaký univerzální balíček pro práci s databázemi v pythonu (anižby to byl odbc, protože to je další závislost, která nemusí nutně každému vyhovovat)?

    Je příliš velká utopie používat prostě konzolové nástroje a parsovat jejich standardní výstup?

    Díky za tipy

    Jáchym

    Odpovědi

    regnarg avatar 10.4.2007 13:03 regnarg | skóre: 20 | blog: rm -rf /this/blog
    Rozbalit Rozbalit vše Re: python a modul pro databáze
    Myslím, že žádný univerzální modul neexistuje (nebo o něm nevím; možná můžete zkusit prohledat PYthon Package Index na http://cheeseshop.python.org/pypi). Ale zcela jistě existují moduly pro většinu zmíněných databází existují moduly, takže parsovat výstup commandline utilit nebude třeba.
    S láskou se nerodíme, ale s láskou se stáváme lidmi. --Simone De Beauvoirová
    10.4.2007 13:24 Boris Dušek | skóre: 22 | blog: everything
    Rozbalit Rozbalit vše Re: python a modul pro databáze
    pro každou databázi jsou zvlášť moduly. ale všechny se snaží poskytovat jedno standardní API - tzv. Python DB API (to API má ještě verze 1 a 2). Stačí pak dát třeba import MySQL as sql, používat DB API, a v okamžiku, kdy budete potřebovat změnit typ databáze, tak jenom naimportujte příslušný modul pod stejným jménem (import PostgreSQL as sql), a protože má stejné API, tak to poběží. Jde samozřejmě využívat speciálních featur jednotlivých databází, a taky se může lišit kód (třeba sqlite nepotřebuje heslo, ale název souboru, mysql potřebuje umístění serveru, uživ. jméno a heslo), ale to hlavní (DB API) je stejné. Taky je potřeba si dát pozor, že se může lišit verze 1 a 2 DB API, ale to už si nepamatuju, neměl by to být problém.
    vim ~/.emacs
    10.4.2007 14:13 Jáchym Čepický | skóre: 29 | blog: U_Jachyma
    Rozbalit Rozbalit vše Re: python a modul pro databáze
    Díky za odpovědi. Nachal jsem to na tom parsování příkazové řádky. Jde o to, nepřinášet více závislostí do existujícího projektu, než už existuje. GUI bude sloužit k práci s omezenou velikostí tabulek (256 sloupců, 32 000 řádků), na "pořádnou práci" zůstane CLI.

    Dík za tipy
    10.4.2007 16:53 Boris Dušek | skóre: 22 | blog: everything
    Rozbalit Rozbalit vše Re: python a modul pro databáze
    Ano, je pravda, že až od verze 2.5 je standardní součástí Pythonu alespoň jeden modul pro práci s databází, a to sqlite. Zbytek (mysql apod.) si člověk musí dotahat sám.
    vim ~/.emacs
    11.4.2007 08:49 Jáchym Čepický | skóre: 29 | blog: U_Jachyma
    Rozbalit Rozbalit vše Re: python a modul pro databáze
    Program na kterém dělám zatím není na sqlite závislý, i když se o tom do budoucna uvažuje. Dík
    regnarg avatar 10.4.2007 18:40 regnarg | skóre: 20 | blog: rm -rf /this/blog
    Rozbalit Rozbalit vše Re: python a modul pro databáze
    No parsovat commandline není dvakrát ideální nápad, obvzlášť když existují kvalitní moduly. Tato metoda má obrovská omezení...
    S láskou se nerodíme, ale s láskou se stáváme lidmi. --Simone De Beauvoirová
    11.4.2007 08:50 Jáchym Čepický | skóre: 29 | blog: U_Jachyma
    Rozbalit Rozbalit vše Re: python a modul pro databáze
    Momentálně mi to přijde jako menší zlo, než chtít po uživatelých dalších tisíc a jednu závislost.
    11.4.2007 11:10 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: python a modul pro databáze
    ??? imho ten váš program bude používať niekto, kto už nejakú databázu (a nedajbože aj daný python modul) používa. T.j. závislosti budú už splnené :-)
    12.4.2007 13:31 Jáchym Čepický | skóre: 29 | blog: U_Jachyma
    Rozbalit Rozbalit vše Re: python a modul pro databáze
    používat databázi != mít nainstalovaný pythoní modul pro komunikaci s ní

    seznam požadovaných "databází", které to musí umět:
    • dbf DBF files. Data are stored in DBF files. http://shapelib.maptools.org/dbf_api.html
    • sqlite SQLite embedded database. http://sqlite.org/
    • pg PostgreSQL RDBMS. http://postgresql.org/
    • mysql MySQL RDBMS. http://mysql.org/
    • mesql MySQL embedded database. http://mysql.org/
    • odbc UnixODBC. (PostgreSQL, Oracle, etc.) http://www.unixodbc.org/
    to představuje poměrně dost balíčků. v programu, na kterém pracuji, již existují konzolové nástroje, které poskytují ke všem těmto databázím standardní textové rozhranní - nestarám se o to, v čem to je uložené.

    díky za snahu
    12.4.2007 13:37 azurIt | skóre: 34 | blog: zatial_bez_mena
    Rozbalit Rozbalit vše Re: python a modul pro databáze
    je problem proste vsetky tieto moduly pribalik k programu ? parsovanie vystupu je fakt dost blbost :)
    12.4.2007 14:45 Jáchym Čepický | skóre: 29 | blog: U_Jachyma
    Rozbalit Rozbalit vše Re: python a modul pro databáze
    ad přibalení: to je trochy proti všemu ne? duplikace kódu atd atd

    ad parsování: mě konstrukce
    for line in os.popen("prikaz").readlines().
         attributes = line.strip().split("|")
    
    (či něco v tom smyslu)

    moc komplikovaná nepřipadá...(?)
    12.4.2007 14:49 azurIt | skóre: 34 | blog: zatial_bez_mena
    Rozbalit Rozbalit vše Re: python a modul pro databáze
    "ad přibalení: to je trochy proti všemu ne? duplikace kódu atd atd"
    aka duplikacia ? ved pribalis cely modul a normalne ho naimportujes

    ad parsování: mě konstrukce
    o flexibilite a vykonnosti takehoto riesenia sa ani neda hovorit. pri kazdom SQL dotaze budes musiet zavolat externy program miesto prosteho vykonania jednej funkcie. z tvojej strany mi to pripada ako navyk prevzaty napr. zo shell skriptov.
    12.4.2007 15:43 Jáchym Čepický | skóre: 29 | blog: U_Jachyma
    Rozbalit Rozbalit vše Re: python a modul pro databáze
    ad přibalení: přibalim modul: musím ho uložit do hlavího CVS repositáře - má to smysl? nemá.

    ad parsování: výkoné to není. ale zato to chodí ;-)
    12.4.2007 16:02 azurIt | skóre: 34 | blog: zatial_bez_mena
    Rozbalit Rozbalit vše Re: python a modul pro databáze
    ad přibalení: přibalim modul: musím ho uložit do hlavího CVS repositáře - má to smysl? nemá.
    a preco by si musel ? :) to je IMHO dokonca blbost robit. moduly budes pribalovat len k binarkam, ktore pojdu userom. to je taky problem napisat skript, ktory skompletuje akysi 'balik' kde uz bude vsetko potrebne ? ved v nich nebudes nic menit, naco by si ich preboha pchal do CVS ;) dokonca ani povodny program sa ziadnym sposobom nezmeni.
    12.4.2007 16:49 Jáchym Čepický | skóre: 29 | blog: U_Jachyma
    Rozbalit Rozbalit vše Re: python a modul pro databáze
    tohle začíná být spíš filosofická otázka, než těchnická..

    to je taky problem napisat skript, ktory skompletuje akysi 'balik' kde uz bude vsetko potrebne ?

    to je super, napíšete mi ho? dík.
    moduly budes pribalovat len k binarkam, ktore pojdu userom.
    to mě budou baliči různých distribucí milovat...
    12.4.2007 17:34 azurIt | skóre: 34 | blog: zatial_bez_mena
    Rozbalit Rozbalit vše Re: python a modul pro databáze
    to je super, napíšete mi ho? dík.
    ak je pre teba tazke urobit skript, ktory skopiruje par suborov z jedneho adresara do druheho, tak potom uz fakt neviem.. ;)

    to mě budou baliči různých distribucí milovat...
    ? co s tym maju oni ? vari chces distribuovat .rpm, .deb, .. ? tie predsa podporuju zavislosti (a dokazu ich doinstalovat). hadam kazda velka distribucia ma python baliky pre DB frameworky takze v tomto pripade neviem co riesis..

    nebudem sa tu s tebou dohadovat kedze tvoj pristup je 'hladat ako sa to neda'. povedal som ti sposob, akym sa to da velmi jednoducho urobit a ktory sa bezne pouziva. ked ho pouzit nechces, povedz to rovno, je to tvoja vec. tieto argumenty co tu generujes su fakt dost od veci :)
    5.1.2008 23:45 Petr Mach | skóre: 9 | blog: Hláska
    Rozbalit Rozbalit vše Re: python a modul pro databáze
    Ze se namahas. Kdyz chce okopavat pole motykou, at okopava :-). Ze ten program bude nepouzitelny? At je. Kdyz ma problem pridat na seznam par zavislosti, at si rucne parsuje vystupy, resi nepovolene znaky ve vystupu, nepovolene znaky a ruzne formaty vystupu. A kdyz to resit nebude a program bude nespolehlivy, bude to snad vadit tobe? Jak se rika, komu neni rady, tomu neni pomoci :-).
    12.4.2007 17:24 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: python a modul pro databáze
    njn, kde sa python hrabe na perl (čo sa db týka) :-D

    to, čo píšete, to sú (ak tomu dobre chápem) iba soft-dependencies. čo tak to vyriešiť tak, že ak modul pre požadovanú db neexistuje, vypísať linku na "Comprehensive Python Archive Network", nech si doinštaluje? Normálny človek nebude potrebovať napr také mysql, zbytočný balast :-)

    konzolové nástroje sú nespolahlivé, najčastejšie chyby vznikajú pri klientovi z jednej verzie a serveru inej.

    regnarg avatar 11.4.2007 17:30 regnarg | skóre: 20 | blog: rm -rf /this/blog
    Rozbalit Rozbalit vše Re: python a modul pro databáze
    Ale to je závislost tak jako tak, ať už je to řádkový příkaz nebo modul. U řádkových příkazů zase vzniká spousta problémů ohledně nekompatibilních výstupů, složitého zpracování, atp.
    S láskou se nerodíme, ale s láskou se stáváme lidmi. --Simone De Beauvoirová
    12.4.2007 13:32 Jáchym Čepický | skóre: 29 | blog: U_Jachyma
    Rozbalit Rozbalit vše Re: python a modul pro databáze
    řádkový příkaz už existuje a je standardní součástí programu. výstupy jsou vždy stejné, zpracování mi nijak složité nepřijde.
    5.1.2008 19:02 Igor Bodlak
    Rozbalit Rozbalit vše Re: python a modul pro databáze
    Dobry den, existuje beta verze modulu pro odbc fungujici i pod linuxem. Viz http://sourceforge.net/projects/pyodb/ ale obavam se dokumentace bude jen ve spanelstine. Zatim jsem tento modul nezkousel takze nevim jak na tom je.
    11.4.2007 08:59 Messa | skóre: 39 | blog: Messa
    Rozbalit Rozbalit vše Re: python a modul pro databáze
    Daniel Kvasnička ml. avatar 12.4.2007 13:50 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
    Rozbalit Rozbalit vše Re: python a modul pro databáze
    Krome uz zmineneho SQLObjectu by se vam mohla jeste hodit SQLAlchemy.

    Jak tak ale ctu vase pozadavky, doporucil bych mrknou se take na Dabo.
    FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."
    12.4.2007 15:44 Jáchym Čepický | skóre: 29 | blog: U_Jachyma
    Rozbalit Rozbalit vše Re: python a modul pro databáze
    díky za tyhle dva typy, mrknu na to
    12.4.2007 14:46 Jáchym Čepický | skóre: 29 | blog: U_Jachyma
    Rozbalit Rozbalit vše Re: python a modul pro databáze
    jde o to, že GUI je jenom "náhražka" či "nadstavba" nad CLI, které existuje a funguje.

    pro bližší info viz http://grass.itc.it

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.