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 20:44 | IT novinky

    Americký výrobce čipů Nvidia získal od vlády prezidenta Donalda Trumpa souhlas s prodejem svých pokročilých počítačových čipů používaných k vývoji umělé inteligence (AI) H20 do Číny. Prodej těchto čipů speciálně upravených pro čínský trh by tak mohl být brzy obnoven, uvedla firma na svém blogu. Americká vláda zakázala prodej v dubnu, v době eskalace obchodního sporu mezi oběma zeměmi. Tehdy to zdůvodnila obavami, že by čipy mohla využívat čínská armáda.

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

    3D software Blender byl vydán ve verzi 4.5 s prodlouženou podporou. Podrobnosti v poznámkách k vydání. Videopředstavení na YouTube.

    Ladislav Hagara | Komentářů: 0
    včera 22:22 | Komunita

    Open source webový aplikační framework Django slaví 20. narozeniny.

    Ladislav Hagara | Komentářů: 0
    včera 16:11 | Komunita

    V Brestu dnes začala konference vývojářů a uživatelů linuxové distribuce Debian DebConf25. Na programu je řada zajímavých přednášek. Sledovat je lze online.

    Ladislav Hagara | Komentářů: 0
    včera 11:33 | IT novinky

    Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.

    Ladislav Hagara | Komentářů: 26
    včera 10:55 | IT novinky

    Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.

    Ladislav Hagara | Komentářů: 20
    13.7. 17:55 | Zajímavý projekt

    Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.

    Ladislav Hagara | Komentářů: 17
    11.7. 16:44 | Komunita

    Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.

    Ladislav Hagara | Komentářů: 3
    11.7. 14:55 | Humor

    McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.

    Ladislav Hagara | Komentářů: 16
    11.7. 00:11 | Nová verze

    Byla vydána (𝕏) červnová aktualizace aneb nová verze 1.102 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.102 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    Jaký je váš oblíbený skriptovací jazyk?
     (59%)
     (26%)
     (7%)
     (3%)
     (1%)
     (1%)
     (4%)
    Celkem 397 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Dotaz: PyGTK a pár problémů

    11.5.2007 09:07 pepik | skóre: 16 | blog: nevim | Chlumec nad Cidlinou
    PyGTK a pár problémů
    Přečteno: 191×
    Tak se konečně učím v pythonu a narazil jsem na pár problémů:

    Řeším volání externí aplikace. Používám os.popen(), jenže ten čeká dokud se externí aplikace neukončí. Dejme tomu, že chci zavolat "top", který běží do nekonečna a chci z něj průběžně získávat data. Jak? Druhý problém je podobný. Externí aplikace běží v konsoli a vyžaduje napsat yes a potvrdit, aby běžela dál, takže potřebuju poradit, jak říct té apliaci, aby to napsala za mě. Snad chápete mé úmysly :-D

    Odpovědi

    11.5.2007 09:22 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: PyGTK a pár problémů
    Na takové věci je potřeba v pygtk buď udělat multithreadovou aplikaci (což není úplně snadné) nebo do hlavní smyčky událostí přidat select(), který bude navázán na standardní výstup té externě spuštěné aplikace.
    Jestliže s tím teprve začínáš, tak nevolej "top", ale čti data přímo z /proc. Bude to rozežranější, ale aspoň se pohneš z místa.
    A co se týče té aplikace, co vyžaduje "yes", máš několik možností:
    - pošli jí "yes"
    - pusť ji s parametrem "na nic se neptej a dělej"
    - najdi řešení v pythonu a nepouštěj ji vůbec
    Jo a když už pouštíš externí program, tak používej raději modul subprocess místo os.popen().
    11.5.2007 09:35 pepik | skóre: 16 | blog: nevim | Chlumec nad Cidlinou
    Rozbalit Rozbalit vše Re: PyGTK a pár problémů
    Top jsem uvedl pouze jako příklad. Ve skutečnosti dělám graf. nadstavbu nad pacmanem a potřebuju poslat "pacman -S aplikace" a z něj získat výstup (info o závyslostech) a potom je potvrdit.
    11.5.2007 10:22 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: PyGTK a pár problémů
    Aha, pacman nemám, tak zůstanu u toho příkladu s topem.
    #!/usr/bin/env python
    import gtk, gobject, subprocess, sys, time
    
    class TOPwatch:
        def __init__(self):
            cmd = ['top', '-b', '-d', '3']
            process = subprocess.Popen(cmd, stdout = subprocess.PIPE)
            gobject.io_add_watch(process.stdout, gobject.IO_IN, self.newdata)
            w = gtk.Window()
            w.connect('destroy', gtk.main_quit)
            w.show()
            gtk.main()
    
        def newdata(self, fd, condition):
            print time.asctime(), 'new data!'
            sys.stdout.write(fd.readline())
            return True
    
    top = TOPwatch()
    
    Pomocí gobject.io_add_watch vyvolávám událost, jestliže jsou k dispozici nějaká data ke čtení. Je možné také přidat podmínku pro sledování, zda se dají nějaká data zapsat, což by znamenalo, že se objevil potvrzovací dotaz. Ale to nemám vyzkoušené.
    regnarg avatar 11.5.2007 19:25 regnarg | skóre: 20 | blog: rm -rf /this/blog
    Rozbalit Rozbalit vše Re: PyGTK a pár problémů
    A pro poslání yes je samozřejmě třeba dát konstruktoru popen parametr stdin=subprocess.PIPE a potom lze použít process.stdin.write('yes\n'). A samozřejmě se vyplatí pro jistotu i process.stdin.flush() aby bylo zajištěno že odpověď se skutečně odešle a nevznikne někde deadlock.
    S láskou se nerodíme, ale s láskou se stáváme lidmi. --Simone De Beauvoirová
    11.5.2007 19:31 pepik | skóre: 16 | blog: nevim | Chlumec nad Cidlinou
    Rozbalit Rozbalit vše Re: PyGTK a pár problémů
    Díky, až se dostanu k mému PC, vyzkouším.

    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.