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 17:22 | Komunita

    Singularity (YouTube) je nejnovější otevřený film od Blender Studia. Jedná se o jejich první 4K HDR film.

    Ladislav Hagara | Komentářů: 0
    včera 16:55 | Zajímavý software

    Vyšla hra Život Není Krásný: Poslední Exekuce (Steam, ProtonDB). Kreslená point & click adventura ze staré školy plná černého humoru a nekorektního násilí. Vžijte se do role zpustlého exekutora Vladimíra Brehowského a projděte s ním jeho poslední pracovní den. Hra volně navazuje na sérii Život Není Krásný.

    Ladislav Hagara | Komentářů: 1
    včera 14:00 | Zajímavý projekt

    Společnost Red Hat představila Fedora Hummingbird, tj. linuxovou distribuci s nativním kontejnerovým designem určenou pro vývojáře využívající AI agenty.

    Pinhead | Komentářů: 4
    včera 02:22 | Zajímavý software

    Hru The Legend of Zelda: Twilight Princess od společnosti Nintendo si lze nově díky projektu Dusklight (původně Dusk) a reverznímu inženýrství zahrát i na počítačích a mobilních zařízeních. Vyžadována je kopie původní hry (textury, modely, hudba, zvukové efekty, …). Ukázka na YouTube. Projekt byl zahájen v srpnu 2020.

    Ladislav Hagara | Komentářů: 0
    včera 01:11 | Nová verze

    Byla vydána nová major verze 29.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Detailní přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    13.5. 21:22 | Bezpečnostní upozornění

    Po zranitelnostech Copy Fail a Dirty Frag přichází zranitelnost Fragnesia. Další lokální eskalace práv na Linuxu. Zatím v upstreamu neopravena. Přiřazeno ji bylo CVE-2026-46300.

    Ladislav Hagara | Komentářů: 1
    13.5. 14:00 | Komunita

    Sovereign Tech Agency (Wikipedie) prostřednictvím svého fondu Sovereign Tech Fund podpoří KDE částkou 1 285 200 eur.

    Ladislav Hagara | Komentářů: 7
    13.5. 12:55 | IT novinky

    Google na včerejší akci The Android Show | I/O Edition 2026 (YouTube) představil celou řadu novinek: Gemini Intelligence, notebooky Googlebook, novou generaci Android Auto, …

    Ladislav Hagara | Komentářů: 0
    13.5. 12:33 | IT novinky

    Evropská komise by do léta mohla předložit návrh normy omezující používání sociálních sítí dětmi v zájmu jejich bezpečí na internetu. Prohlásila to včera předsedkyně EK Ursula von der Leyenová, podle níž řada zemí Evropské unie volá po zavedení věkové hranice pro sociální sítě. EU částečně řeší bezpečnost dětí v digitálním prostředí v již platném nařízení o digitálních službách (DSA), podle německé političky to však není dostatečné a

    … více »
    Ladislav Hagara | Komentářů: 48
    13.5. 04:11 | Nová verze

    Multiplatformní open source aplikace scrcpy (Wikipedie) pro zrcadlení připojeného zařízení se systémem Android na desktopu a umožňující ovládání tohoto zařízení z desktopu, byla vydána v nové verzi 4.0.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (25%)
    Celkem 1610 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: Curses, podivne chovani

    31.8.2011 13:04 xdeber02
    Curses, podivne chovani
    Přečteno: 191×
    Zdravim, mam tento kratky skript v pythonu s pouzitim curses:
    import curses
    import time
    
    screen = curses.initscr()
    
    a = [1,2,3]
    
    def f(a):
        screen.clear()
        screen.refresh()
        for i in a:
            screen.addstr(str(i)+"\n")
    
    f(a)
    time.sleep(3)
    a.append(4)
    a.remove(1)
    f(a)
    
    screen.getch()
    curses.endwin()
    
    Ocekaval bych, ze skript se po spusteni bude chovat tak, ze vypise pod sebe 1,2,3 pak se 3 vteriny nic dit nebude a pak se 1,2,3 prekresli na 2,3,4. Misto toho se po spusteni 3 vteriny nic nedeje a pak se vypise 2,3,4. Nevite prosim jak docilit ocekavaneho chovani?

    Odpovědi

    31.8.2011 14:09 chrono
    Rozbalit Rozbalit vše Re: Curses, podivne chovani
    Ten program najskôr prekreslí obrazovku a až potom na ňu niečo vypíše a objaví sa to až pri nasledujúcom prekresľovaní (takže to screen.refresh() musí nasledovať až po tom, ako sú zobrazené všetky údaje).
    31.8.2011 14:11 xdeber02
    Rozbalit Rozbalit vše Re: Curses, podivne chovani
    Nejak presne nevim, jak to myslite, muzete uvest zmeny primo do kodu prosim?
    31.8.2011 14:23 chrono
    Rozbalit Rozbalit vše Re: Curses, podivne chovani
    def f(a):
        screen.clear()
        for i in a:
            screen.addstr(str(i)+"\n")
        screen.refresh()
    
    31.8.2011 14:34 xdeber02
    Rozbalit Rozbalit vše Re: Curses, podivne chovani
    Aha, to me mohlo napadnout, dekuji moc!

    Jeste bych se chtel zeptat, zda jde nejakym zpusobem zajistit, aby po ukonceni programu zustal v konzoli posledni vypis, tedy v tomto pripade 2,3,4?
    dan.h avatar 31.8.2011 15:59 dan.h | skóre: 8 | blog: K8_blog | okr. Písek, město Čimelice, obec Nerestce
    Rozbalit Rozbalit vše Re: Curses, podivne chovani

    Ve framebuffer konzoli (N)curses aplikace zanechají výpis, ale v Xtermu a jiných emulátorech terminálu se kompletní výpis (N)curses aplikace smaže. Výpis by asi šel zanechat pomocí printf(), akorát že Python neznám, tak nevím, jestli tam printf()je.

    31.8.2011 16:04 xdeber02
    Rozbalit Rozbalit vše Re: Curses, podivne chovani
    Myslite jako misto te metody addstr() pouzit printf()?
    dan.h avatar 31.8.2011 16:09 dan.h | skóre: 8 | blog: K8_blog | okr. Písek, město Čimelice, obec Nerestce
    Rozbalit Rozbalit vše Re: Curses, podivne chovani

    Spíše dát printf() úplně na konec. Nechat v kódu addstr(), ale na konec ještě přidat printf()

    31.8.2011 16:19 xdeber02
    Rozbalit Rozbalit vše Re: Curses, podivne chovani
    Jakoze uplne na konci programu vypisu data nejenom pomoci addstr(), ale i pomoci printf()?
    dan.h avatar 31.8.2011 16:30 dan.h | skóre: 8 | blog: K8_blog | okr. Písek, město Čimelice, obec Nerestce
    Rozbalit Rozbalit vše Re: Curses, podivne chovani

    Nějak takle:

    import curses
    import time
    
    screen = curses.initscr()
    
    a = [1,2,3]
    
    def f(a):
        screen.clear()
        for i in a:
            screen.addstr(str(i)+"\n")
        screen.refresh()
    
    f(a)
    time.sleep(3)
    a.append(4)
    a.remove(1)
    f(a)
    
    screen.getch()
    curses.endwin()
    
    print "%s" % a
    
    Co to poslední udělá nevím, protože nevím, jak moc je v Pythonu možno do outputu nacpat všelijaký bordel jako je to možné v PHP. Předpokládám, že 'a' zůstane v paměti i po uzavření curses.

    dan.h avatar 31.8.2011 16:36 dan.h | skóre: 8 | blog: K8_blog | okr. Písek, město Čimelice, obec Nerestce
    Rozbalit Rozbalit vše Re: Curses, podivne chovani

    teď jsem to otestoval a funguje to, po ukončení programu mi zůstalo:

    [root@pc-sempron ~]# vim test.py 
    [root@pc-sempron ~]# python test.py 
    [2, 3, 4]
    [root@pc-sempron ~]#
    

    31.8.2011 16:38 xdeber02
    Rozbalit Rozbalit vše Re: Curses, podivne chovani
    Ano, tak mohu potvrdit, ze toto funguje, ale presto by me zajimalo, zda neexistuje nejake cistsi reseni, jednoduseknihovne curses nejak rict, aby po skonceni za sebou ten disaply nezametla. Takto podle me funguje vetsina aplikaci pouzivajici curses, napriklad airodump-ng.
    dan.h avatar 31.8.2011 16:45 dan.h | skóre: 8 | blog: K8_blog | okr. Písek, město Čimelice, obec Nerestce
    Rozbalit Rozbalit vše Re: Curses, podivne chovani

    když jsem smazal řádek curses.endwin(), tak to výpis nechalo, ale Xterm mi odmítal odřádkovat a neukazoval co píšu. :-D

    31.8.2011 16:47 xdeber02
    Rozbalit Rozbalit vše Re: Curses, podivne chovani
    Ano, toho jsem si take vsiml, ale to neni zrovna chovani, ktere by mi vyhovovalo:-D

    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.