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í
×
včera 21:32 | Nasazení Linuxu

Canonical představuje nejnovější verzi chytré helmy DAQRI s Ubuntu pro rozšířenou realitu. K vidění bude příští týden v Barceloně na veletrhu Mobile World Congress 2017.

Ladislav Hagara | Komentářů: 0
včera 21:31 | Pozvánky

Pro zájemce o hlubší znalosti fungování operačních systémů připravila MFF UK nový předmět Pokročilé operační systémy, v rámci něhož se vystřídají přednášející nejen z řad pracovníků fakulty, ale dorazí také odborníci ze společností AVAST, Oracle, Red Hat a SUSE. Tento předmět volně navazuje na kurz Operační systémy ze zimního semestru, ale pokud máte praktické zkušenosti odjinud (například z přispívání do jádra Linuxu) a chcete si

… více »
Martin Děcký | Komentářů: 0
včera 21:30 | Pozvánky

Czech JBoss User Group Vás srdečně zve na setkání JBUG v Brně, které se koná ve středu 1. března 2017 v prostorách Fakulty Informatiky Masarykovy Univerzity v místnosti A318 od 18:00. Přednáší Tomáš Remeš a Matěj Novotný na téma CDI 2.0 - New and Noteworthy. Více informací na Facebooku a na Twitteru #jbugcz.

mjedlick | Komentářů: 0
20.2. 23:45 | Zajímavý software

Na blogu Qt bylo představeno Qt 3D Studio. Jedná se o produkt dosud známý pod názvem NVIDIA DRIVE™ Design Studio. NVIDIA jej věnovala Qt. Jedná se o několik set tisíc řádků zdrojového kódu. Qt 3D Studio bude stejně jako Qt k dispozici jak pod open source, tak pod komerční licencí. Ukázka práce s Qt 3D Studiem na YouTube.

Ladislav Hagara | Komentářů: 10
20.2. 17:50 | Komunita

Nadace The Document Foundation (TDF) zastřešující vývoj svobodného kancelářského balíku LibreOffice slaví 5 let od svého oficiálního vzniku. Nadace byla představena 28. září 2010. Formálně byla založena ale až 17. února 2012.

Ladislav Hagara | Komentářů: 0
20.2. 12:50 | Komunita

Mozilla.cz informuje, že dosud experimentální funkce Page Shot z programu Firefox Test Pilot (zprávička) se stane součástí Firefoxu. Page Shot je nástroj pro vytváření snímků webových stránek. Umí výběr oblasti, prvku stránky (např. odstavce), nebo uložení snímku celé stránky. Snímky lze ukládat na disk nebo nahrávat na server Mozilly. Nedávno bylo oznámeno, že se součástí Firefoxu stane Activity Stream.

Ladislav Hagara | Komentářů: 31
20.2. 04:10 | Nová verze

Po 10 týdnech vývoje od vydání Linuxu 4.9 (zprávička) oznámil Linus Torvalds, mj. již 20 let žijící v USA, vydání Linuxu 4.10 (LKML). Přehled nových vlastností a vylepšení například na Kernel Newbies a v Jaderných novinách (1, 2 a 3). Kódové jméno Linuxu 4.10 je Fearless Coyote.

Ladislav Hagara | Komentářů: 22
19.2. 15:55 | Zajímavý projekt

Vyzkoušet si příkazy a vyřešit několik úkolů lze na stránkách Commandline Challenge (CMD Challenge). Úkoly lze řešit různými způsoby, důležitý je výsledek. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

Ladislav Hagara | Komentářů: 18
18.2. 17:35 | Bezpečnostní upozornění

Německá Bundesnetzagentur (obdoba českého ČTU) zakázala na německém území prodej panenky Cayla kvůli „špionáži“ dětí. Tato elektronická hračka obsahuje mikrofon, reproduktor a kameru a bezdrátové komunikační rozhraní, pomocí kterého se hračka připojuje na servery výrobce. Takovýmto způsobem může hračka pomocí umělé inteligence „odpovídat“ na dotazy dítěte. Hlavní problém bude ale asi někde jinde, podle prvotních zpráv může

… více »
Petr Tomášek | Komentářů: 34
17.2. 15:30 | Bezpečnostní upozornění

CSIRT.CZ upozorňuje, že bezpečnostní experti objevili nový typ malwaru, jenž cílí na open source e-commerce platformu Magento. Malware je zajímavý tím, že se jedná o první svého druhu, jehož kód zůstává skrytý v SQL databázi zasaženého e-shopu. Škodlivý kód je volán pomocí tzv. SQL trigerru, který je spouštěn při každém vytvoření objednávky v systému.

Ladislav Hagara | Komentářů: 6
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (13%)
 (2%)
 (72%)
 (3%)
 (10%)
Celkem 679 hlasů
 Komentářů: 61, poslední včera 13:06
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: 2149×
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.