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:33 | IT novinky

    Apple představil nový iPad mini, iMac s čipem M6, 14palcový MacBook Pro s čipem M6 a MacBook Pro s PROLED XDR displejem – první Mac s dotykovým ovládáním.

    Ladislav Hagara | Komentářů: 0
    včera 23:22 | Zajímavý projekt

    Nedávno představený projekt mapSTL.com řeší budoucnost. 𝕏: "Netušil jsem, kolik patentů na generování map existuje. Existují patenty na generování fantasy map 🫣. Cokoliv je na 3D tiskárnu a tvoří to produkt, bude to mít patenty. Tak bacha na to!" … více »

    Ladislav Hagara | Komentářů: 0
    včera 18:55 | Nová verze

    Multiplatformní emulátor terminálu Ghostty byl vydán ve verzi 1.4 (𝕏). Přehled novinek a vylepšení v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 18:22 | Bezpečnostní upozornění

    Byla objevena zranitelnost Tailworm v Tailscale a Headscale umožňující lokální eskalaci práv přihlášeného uživatele. Následně byla v Tailscale v opravené verzi 1.104.4+ změněna architektura aplikace. Viz příspěvek na blogu Tailscale.

    vencour | Komentářů: 0
    27.10. 18:11 | Nová verze

    Byl vydán Mozilla Firefox 159.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 159 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 1
    27.10. 14:11 | IT novinky

    Nasazení softwaru, který nyní používá ve svých autech pro čínský trh, zvažuje automobilový koncern Volkswagen také v Evropě, kde by se mohl používat v budoucích vozech značek Volkswagen, Škoda a Cupra. Základem pro budoucí evropské modely by se mohla stát takzvaná China Electronic Architecture, elektronická architektura vyvinutá pro čínské modely ve spolupráci s tamní automobilkou Xpeng.

    Ladislav Hagara | Komentářů: 37
    27.10. 13:44 | Komunita

    Vedoucím brněnské pobočky Red Hatu se stal Radek Vokál [LinkedIn].

    Ladislav Hagara | Komentářů: 2
    26.10. 21:29 | Nová verze

    Open source download manager Fatrat povstal z popela. Autor k dvacetiletému výročí projektu přidal do vínku podporu nejnovější knihovny libtorrent, rozhraní portoval na QT6, došlo k nahrazení podpory java rozšíření pythonem. Webové rozhraní bylo přepsáno s podporou mobilních zařízení. Aplikaci je taktéž možno zkompilovat bez podpory GUI. Více informací v releases.

    Max | Komentářů: 31
    26.10. 21:11 | Bezpečnostní upozornění

    Zranitelnost Broccoli2Shell (CVE-2026-111497) v kompresní knihovně Brotli se netýká pouze Node.js. Ohroženy jsou také aplikace využívající HTTP. Knihovnu používají webové prohlížeče, servery i řada dalších aplikací a technologií, například také Python nebo Bun. Identifikace všech zranitelných komponent může být obtížná, protože knihovna bývá součástí dalších softwarových balíčků nebo je přímo začleněna do spustitelných souborů aplikací.

    Ladislav Hagara | Komentářů: 10
    26.10. 18:33 | Komunita

    Quad9, švýcarský celosvětově působící neziskový poskytovatel DNS, od 24. listopadu 2026 ukončí své služby ve Francii kvůli soudnímu sporu s katarskou televizní stanicí beIN. Ta požadovala blokování domén, které podle ní nelegálně zpřístupňují sportovní přenosy. Francouzský soud Katarům vyhověl a nařídil (🇫🇷, PDF) Quad9 blokaci zavést, pod hrozbou pokuty 1000 eur denně. Provozovatel příkaz odmítá s tím, že blokace

    … více »
    Pendrekama do nich❗ | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (20%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2937 hlasů
     Komentářů: 34, poslední 26.10. 08:24
    Rozcestník

    Dotaz: Python a opakovany vypis dat z databaze

    14.2.2016 20:26 Tomis
    Python a opakovany vypis dat z databaze
    Přečteno: 1364×
    Dobry den, chtel bych ze zeptat jak spravne opakovane vypsat hodnoty nactene z databaze. Zde cast kodu:
    
    kody_all = cur.execute(SELECT)
    #kody_all = (('010',),('020',),('030',))
    
    for kod in kody_all:
      print kod[0]
    
    print " a jeste jednou....."
    
    for kod in kody_all:
      print kod[0]
    
    con.close()
    
    Kdyz kody_all nactu z databaze, tak pri prvnim behu smycky FOR se vsechny udaje vypisou, ale pri behu te dalsi smycky se uz nevypise nic. Kdyz kody_all nastavim pomoci toho zakomentovaneho radku, tak vypsani probehne v obou smyckach.

    Jedine co mi funguje je pred kazdou smyckou FOR pridat znova kody_all = cur.execute(SELECT) , ale to znamena, ze dojde k opakovanemu nacteni dat z DB? To mi neprijde zrovna spravne.....

    Muzete mi prosim poradit, jak ty udaje z DB vypsat opakovane? Dekuji.

    Řešení dotazu:


    Odpovědi

    14.2.2016 21:52 divbyzero | skóre: 6
    Rozbalit Rozbalit vše Re: Python a opakovany vypis dat z databaze
    Dobry den, co si ulozit vysledek do mezipromenne?
    kody_current = kody_all
    
    14.2.2016 21:59 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Python a opakovany vypis dat z databaze
    Problém spočívá v tom, že proměnná kody_all není pole, ale iterovatelná strukrura, která se bohužel neumí "převinout na začátek".

    Správně bys to měl překopírovat do nové struktury, která se už bude chovat dle tvých potřeb. Nejlépe do nějakého objektu nebo přinejhorším do pole.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    14.2.2016 22:10 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Python a opakovany vypis dat z databaze
    Teď na to koukám, zkus tohle:
    kody_all = cur.execute(SELECT).fetchall()
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    14.2.2016 22:22 Tomis
    Rozbalit Rozbalit vše Re: Python a opakovany vypis dat z databaze
    Jo, moc dekuji, tohle uz funguje. Muzes mi prosim jeste trochu naznacit, co se tim fetchall() zmenilo?
    14.2.2016 22:26 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Python a opakovany vypis dat z databaze
    Ze zmíněné iterovatelné struktury (viz výše) se stalo obyčejné pole, resp. seznam.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    19.4.2016 05:25 eee
    Rozbalit Rozbalit vše Re: Python a opakovany vypis dat z databaze
    To neni dobre vysvetleni. Spravne vysvetleni je, ze execute vraci kurzor, ktery kazdym zavolanim vrati z db jeden radek. Volanim fetchall() primejeme kurzor vratit cely vysledek jako list radku.
    15.2.2016 08:27 Filip Jirsák
    Rozbalit Rozbalit vše Re: Python a opakovany vypis dat z databaze
    Ten váš kód postupně donačítá výsledky z databáze – bude tedy fungovat i pro hodně velké objemy dat, protože se vždy přenese jenom část výsledků. Na druhou stranu se ve výsledcích můžete pohybovat pořád jen dopředu, takže když je potřebujete vypsat vícekrát, musíte dotaz zavolat opakovaně v jedné transakci (a nastavit správnou úroveň izolace transakcí, aby vracel vždy stejné výsledky). Upravený kód dělá to, že nejprve načte všechny výsledky z databáze do paměti, takže je pak můžete procházet libovolně. Nevýhoda je, že se vše načte najednou do paměti, takže jste omezen velikostí dostupné paměti a víc výsledků takhle nezpracujete.
    15.2.2016 09:19 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Python a opakovany vypis dat z databaze
    Pokud jsou data načítaná z databáze jen menšího rozsahu (řekněme < 1 MB), tak se o takové nevýhodě vůbec nemá smysl bavit. Pro většinu běžných případů tedy výhody kompletního načtení převažují.

    Za nejlepší řešení však stále považuji použití načtených dat pouze 1×. V opačném případě mi v takové aplikaci "něco smrdí".
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    15.2.2016 11:31 Filip Jirsák
    Rozbalit Rozbalit vše Re: Python a opakovany vypis dat z databaze
    O rozsahu dat nic nevíme. Pokud to budou stovky GB, nemá zase vůbec smysl bavit se o tom, že se to celé načte do paměti…
    15.2.2016 12:14 Tomis
    Rozbalit Rozbalit vše Re: Python a opakovany vypis dat z databaze
    Dobry den, databaze je sice velka (cca 100GB), ale ja nacitam pouze 3 sloupce z jedne tabulky. a nacitam vzdy jenom data z minuleho dne, takze se uz nijak nemeni. Tech zaznamu za den je kolem 5000. Takze ten fetchall() mi takto vyhovuje.

    15.2.2016 15:53 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Python a opakovany vypis dat z databaze
    Pokud to budou stovky GB, nemá zase smysl bavit se o dvojitém načítání. Je nutné to načíst jednou a ihned zpracovat podobojí.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    15.2.2016 21:26 Filip Jirsák
    Rozbalit Rozbalit vše Re: Python a opakovany vypis dat z databaze
    Pokud to jde. Pokud bude potřeba to poslat jako soubor přes HTTP a v hlavičce bude hash toho souboru, nic jiného vám nezbyde. Jasně, jsou to extrémní příklady. Jde spíš o to, že „načíst všechno do paměti“ je jednoduché řešení pro jednoduché případy, které ale neškáluje. Proudové zpracování se hodí nejen pro velký objem dat, ale také umožní třeba paralelní zpracování (ať už využití více jader CPU na jednom stroji, nebo zpracování na více uzlech v cloudu).
    15.2.2016 22:16 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Python a opakovany vypis dat z databaze
    Tady na fóru se řeší hlavně jednoduché příklady, u kterých to škálování chybět nebude.

    99 % běžných případů vyřeší inženýři a to zbylé 1 % přenechají doktorům, aby se měli v čem rýpat a aby také něco dělali :-)

    A ten velký soubor? Uložím ho do tempu, spočítám hash a obojí pošlu klientovi. Do databáze se podruhé hrabat nebudu, protože se jistě mezitím změnil její obsah a držet ji celou dobu pod krkem by také nemuselo být zrovna košér.

    A když už jsme u těch velkých objemů dat, tak hash používám jako klíč k přístupu k takovým datům a proto bych ho klientovi jednoduše přibalil.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    15.2.2016 12:04 blondak | skóre: 36 | blog: Blondak | Čáslav
    Rozbalit Rozbalit vše Re: Python a opakovany vypis dat z databaze
    Neznám sice Python, a ani nepíšete na jaké to má být databázi, ale třeba mysql v php má funkci mysql(i)_data_seek, pro sqlite sqlite_rewind
    Každý problém ma své logické, snadno pochopitelné nesprávné řešení.

    Založit nové vlákno • Nahoru

    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.