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 07:00 | Humor

Čtenářům AbcLinuxu vše nejlepší k dnešnímu Dni zvýšení povědomí o tučňácích (Penguin Awareness Day).

Ladislav Hagara | Komentářů: 0
dnes 06:00 | Komunita

Bylo spuštěno hlasování o přednáškách a workshopech pro letošní InstallFest, jenž proběhne o víkendu 4. a 5. března v Praze. Současně byla oznámena změna místa. InstallFest se letos vrací zpět na Karlovo náměstí do budovy E.

Ladislav Hagara | Komentářů: 0
dnes 02:48 | Komunita

Greg Kroah-Hartman potvrdil, že Linux 4.9 je jádrem s prodlouženou upstream podporou (LTS, Long Term Support). Podpora je plánována do ledna 2019. Aktuální jádra s prodlouženou podporou jsou tedy 3.2, 3.4, 3.10, 3.12, 3.16, 3.18, 4.1, 4.4 a 4.9.

Ladislav Hagara | Komentářů: 0
dnes 00:11 | Zajímavý článek

Výrobce síťových prvků, společnost Netgear, spustila nový program, který slibuje vývojářům, expertům, ale i běžným uživatelům vyplacení finanční odměny za nalezení bezpečnostních chyby v jejich produktech. Za nalezení zranitelnosti v hardware, API nebo mobilní aplikaci nabízí odměnu od 150 do 15 tisíc dolarů (dle závažnosti).

Michal Makovec | Komentářů: 0
dnes 00:08 | Pozvánky

V sobotu 18. 2. se v Praze v prostorách VŠE uskuteční od 9:30 již 4. ročník největší české konference o open source redakčním systému WordPress (WP) - WordCamp Praha 2017.

… více »
smíťa | Komentářů: 0
včera 23:58 | Komunita

Kryptoměnová komunita zahájila nový rok spuštěním projektu Blockchain.cz, jehož cílem je kolektivně nalézt ideální překlad pro čím dál frekventovanější slovo „blockchain“. Přispět návrhem může kdokoli. Sběr bude trvat až do konce září 2017. Následně bude probíhat dvoutýdenní veřejné hlasování, které bude zakončeno výběrem toho nejlepšího návrhu.

xHire | Komentářů: 7
včera 15:55 | Bezpečnostní upozornění

Společnost Oracle vydala čtvrtletní bezpečnostní aktualizaci svých softwarových produktů (CPU, Critical Patch Update). Opraveno je celkově 270 bezpečnostních chyb. V Oracle Java SE je například opraveno 17 bezpečnostních chyb. Vzdáleně zneužitelných bez autentizace je 16 z nich. V Oracle MySQL je opraveno 27 bezpečnostních chyb. Vzdáleně zneužitelných bez autentizace je 5 z nich.

Ladislav Hagara | Komentářů: 0
včera 02:48 | Nová verze

Po půl roce od vydání verze 9.0 (zprávička) byla vydána verze 10.0 zvukového serveru PulseAudio. Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 31
včera 00:33 | Komunita Ladislav Hagara | Komentářů: 8
18.1. 17:30 | Zajímavý článek

Mozilla.cz informuje, že webový prohlížeč Firefox bude od verze 53 obsahovat integrovaný prohlížeč dat ve formátu JSON. Firefox kromě strukturovaného prohlížení nabídne také možnost filtrace a uložení na disk. Dle plánu by měl Firefox 53 vyjít 18. 4. 2017.

Ladislav Hagara | Komentářů: 1
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (10%)
 (2%)
 (74%)
 (3%)
 (10%)
Celkem 334 hlasů
 Komentářů: 24, poslední 17.1. 10:14
    Rozcestník
    Reklama

    Dotaz: PYTHON vykonávanie príkazu každých 5 sekún a práca s aplikáciou

    11.5.2011 23:05 adrinko | skóre: 22
    PYTHON vykonávanie príkazu každých 5 sekún a práca s aplikáciou
    Přečteno: 497×
    zdravím vospolok,

    prosím o radu skúsenejších, používam na vykonanie príkazu každých 5 sekúnd toto: def do_event(): print "5 seconds, hurray!" s.enter(5, 1, do_event, ())

    s.enter(1, 1, do_event, ()) s.run()

    avšak potreboval by som niečo také, ako je vo Visual Basicku Timer, teda, že časovač bude bežať na pozadí (a v stanovenej dobe vykonávať príkazy), ale zároveň sa bude dať pracovať s aplikáciou (klikať na tlačidlá atď). sorry za blbý dotaz, ale fakt len začínam s pythonom... diky moc


    Řešení dotazu:


    Odpovědi

    12.5.2011 00:36 l0gik | skóre: 22
    Rozbalit Rozbalit vše Re: PYTHON vykonávanie príkazu každých 5 sekún a práca s aplikáciou
    No na to si udělej spešl thread. Jedinej problém, kterej v tom je, že CPython (nejběžnější interpret pythonu) má GIL a tedy v každé chvíli běží pouze jeden thread (i na vícejádru). Takže ten thread na pozadí se neprobudí pravděpodobně v přesnejch intervalech, ale někdy kolem, když ho ten foreground thread pustí ke slovu. Ale víc než nějaký desítky milisekund by to bejt neměly.
    12.5.2011 07:58 mimi.vx | skóre: 37 | blog: Mimi.VX | Praha
    Rozbalit Rozbalit vše Re: PYTHON vykonávanie príkazu každých 5 sekún a práca s aplikáciou

    to celkem resi multithread ...., a s tim ze bezi v kazde chvili jen jden thread neni moc pravdive ....

    USE="-gnome -kde";turris
    12.5.2011 11:45 l0gik | skóre: 22
    Rozbalit Rozbalit vše Re: PYTHON vykonávanie príkazu každých 5 sekún a práca s aplikáciou
    Pokud pracuje s pythoníma objektama, tak ano. Jediná šance, jak pustit na CPythonu něco simultáně jsou některé speciální knihovní funkce (tuším např. numpy to dělá), který ten zámek během běhu funkce uvolní. Pokud člověk takovou funkci nepoužívá, tak to pravda je a výsledná rychlost je znatelně horší, než když to člověk provede sekvenčně v jednom threadu (perou se o zámek atd...).
    13.5.2011 19:15 mimi.vx | skóre: 37 | blog: Mimi.VX | Praha
    Rozbalit Rozbalit vše Re: PYTHON vykonávanie príkazu každých 5 sekún a práca s aplikáciou

    ono , vice threadu .. vice problemu ... kdekoliv , od urciteho okamziku je jejich prinos zaporny .. a lepe z thoho prece jen vychazi multiprocess

     

    viz : http://wiki.python.org/moin/GlobalInterpreterLock

     

    http://docs.python.org/py3k/library/multiprocessing.html

     

    na napr pro python2 je zajimava knihovna "pp"

    USE="-gnome -kde";turris
    17.5.2011 10:39 l0gik | skóre: 22
    Rozbalit Rozbalit vše Re: PYTHON vykonávanie príkazu každých 5 sekún a práca s aplikáciou
    Blbina jako každé jiné takto kategorické tvrzení. Např. přepínání procesů má větší režiji než threadů apod. Proces má svoje výhody (bezpečnost), thread má svoje výhody (rychlost, sdílení dat). Tvrdit, že je jedno lepší než druhé je jako tvrdit, že fotbalový míč je lepší než koloběžka. Zkoušel jsem s koloběžkou kopat a nešlo mi to.

    *JOKE* Tvrzení, že thready jsou blbost pochází od zapřísáhlých pythonistů, kteří se jinak neumí smířit s tím, že python je prostě od základu navrženej blbě a toho dědictví se jen tak nezbaví. (I když Unladen swallow je vcelku slibný projekt.) */JOKE*

    PS: Btw. tvrdit, že GIL je kvůli optimalizaci (u interpretovaného jazyka, kterej se na výkonostně kritický aplikace nepoužívá) je prostě blbina. Bylo to prostě jednodušší na implmentaci, stejně jako např. reference counting garbage collector a další. To není žádná ostuda (někdy je lepší věc odfláknout, ale dokončit), ostuda je, jak se to "okecává".
    pavlix avatar 17.5.2011 12:47 pavlix | skóre: 53 | blog: pavlix
    Rozbalit Rozbalit vše Re: PYTHON vykonávanie príkazu každých 5 sekún a práca s aplikáciou
    V Pythonu dělám docela rád... ale se vším, co tady píšeš se stotožňuju :).
    Gentoo – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
    17.5.2011 13:06 l0gik | skóre: 22
    Rozbalit Rozbalit vše Re: PYTHON vykonávanie príkazu každých 5 sekún a práca s aplikáciou
    Přesně. Mě se ten jazyk taky hodně líbí a o to víc mě GIL štve. :-) Kdyby to byl blbej jazyk, tak mě to tak nevadí. Numpy a podobný výpočty do JPythonu bez GILu bohužel nepřeklopím.
    pavlix avatar 17.5.2011 14:41 pavlix | skóre: 53 | blog: pavlix
    Rozbalit Rozbalit vše Re: PYTHON vykonávanie príkazu každých 5 sekún a práca s aplikáciou
    Chápu.
    Gentoo – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
    21.5.2011 17:53 mimi.vx | skóre: 37 | blog: Mimi.VX | Praha
    Rozbalit Rozbalit vše Re: PYTHON vykonávanie príkazu každých 5 sekún a práca s aplikáciou

    to ze thready jsou blbost tvrdili ti co vytvorili unix uz 30 let pred Pythonem ......

    USE="-gnome -kde";turris
    Pavel Stárek avatar 12.5.2011 12:24 Pavel Stárek | skóre: 43 | blog: Tady bloguju já :-) | Kolín
    Rozbalit Rozbalit vše Re: PYTHON vykonávanie príkazu každých 5 sekún a práca s aplikáciou
    Nevím jaký používáš GUI toolkit, ale v PyGTK to jde řešit třeba tak:
    #!/usr/bin/env python
    #-*- coding: utf-8 -*-
    
    import pygtk
    pygtk.require("2.0")
    import gtk
    import gobject
    
    def kazdych_5_sekund():
      print "Toto je po 5 vterinach!!!"
      return True     # Toto způsobí že se toto bude opakovat každých 5s, False - provede se pouze jednou
    
    def button_clicked(widget,data):
      print "Button clicknut!!!"
      
    # Vytvoříme nové okno
    window = gtk.Window()
    
    # Tady spojíme událost "delete-event" (zavření okna)
    # s ukončením programu pomoí zavolání gtk.main_quit,
    # která zapříčiní ukončení hlavní programové smyčky gtk.main()
    window.connect("delete-event", gtk.main_quit)
    window.set_border_width(10)
    window.set_title("Timer 5 sekund")
    
    # Vytvoříme nový popisek s popisem "Ahoj světe!!!"
    button = gtk.Button("Ahoj světe!!!")
    button.connect("clicked", button_clicked, None)
    #label = gtk.Label("Ahoj světe!!!")
    # A popisek připojíme do hlavního okna, které funguje jako kontejner
    window.add(button)
    
    # Tímto prohlásíme okno za připravené ke zobrazení
    window.resize(200,80)
    window.show_all()
    
    # Tímto si vyrobíme "timer" po 5 sekundách
    # timer_id lze využít pro "vypnutí" timeru pomocí gobject.source_remove(timer_id)
    timer_id = gobject.timeout_add(5000, kazdych_5_sekund)
    
    # A spustíme hlavní programovou smyčku
    gtk.main()
    
    Kdo chce, hledá způsob; kdo nechce, hledá důvod.
    16.5.2011 23:12 adrinko | skóre: 22
    Rozbalit Rozbalit vše Re: PYTHON vykonávanie príkazu každých 5 sekún a práca s aplikáciou
    vďaka, super príklad! nahodil som si pygtk-all-in-one-2.24.0.win32-py2.7 a vyskúšal tvoj príklad. akurát neviem prečo mi riadok pygtk.require("2.0") spôsobuje attributeerror: 'module' object has no attribute 'require'
    17.5.2011 00:35 adrinko | skóre: 22
    Rozbalit Rozbalit vše Re: PYTHON vykonávanie príkazu každých 5 sekún a práca s aplikáciou
    attributeerror zahadne zmizol :)
    21.5.2011 12:02 GdH
    Rozbalit Rozbalit vše Re: PYTHON vykonávanie príkazu každých 5 sekún a práca s aplikáciou
    Pokud si nazveš svůj skript pygtk.py a pak v něm importuješ pygtk - hádej, co se naimportuje místo toho, co očekáváš ;)
    21.5.2011 12:27 adrinko | skóre: 22
    Rozbalit Rozbalit vše Re: PYTHON vykonávanie príkazu každých 5 sekún a práca s aplikáciou
    áno, medzičasom mi toto svitlo v hlave :)
    16.5.2011 23:27 adrinko | skóre: 22
    Rozbalit Rozbalit vše Re: PYTHON vykonávanie príkazu každých 5 sekún a práca s aplikáciou
    btw, keď kliknem na x-ko na uzavretie programu, pôvodné okno s buttonom sa zavrie ale otvorí sa ďalšie s rovnakým buttonom, a každých 5 sekúnd sa vypisujú dvakrát "Toto je po 5 vterinach!!!" je toto chovanie normálne? nemal by skončiť celý program a nepokračovať ďalej?
    17.5.2011 00:11 adrinko | skóre: 22
    Rozbalit Rozbalit vše Re: PYTHON vykonávanie príkazu každých 5 sekún a práca s aplikáciou
    >> btw, keď kliknem na x-ko na uzavretie programu, pôvodné okno s buttonom sa zavrie ale otvorí sa ďalšie s rovnakým buttonom

    toto bola chyba pomenovaneho suboru pygtk.py a preto sa y nejakeho dovodu spustal znova. teraz zostava, aby som prisiel na to, ako po kliknuti na xko vypnut aj timer (aby v konzole nevypisoval kazdych 5 sekund text)
    Pavel Stárek avatar 17.5.2011 10:24 Pavel Stárek | skóre: 43 | blog: Tady bloguju já :-) | Kolín
    Rozbalit Rozbalit vše Re: PYTHON vykonávanie príkazu každých 5 sekún a práca s aplikáciou
    A co takhle:
    #!/usr/bin/env python
    #-*- coding: utf-8 -*-
    
    import pygtk
    pygtk.require("2.0")
    import gtk
    import gobject
    
    
    def ukoncit(widget, data, timer_id):
      gobject.source_remove(timer_id)
      gtk.main_quit()
    
    def kazdych_5_sekund():
      print "Toto je po 5 vterinach!!!"
      return True     # Toto způsobí že se toto bude opakovat každých 5s, False - provede se pouze jednou
    
    def button_clicked(widget,data):
      print "Button clicknut!!!"
      
    # Tímto si vyrobíme "timer" po 5 sekundách
    # timer_id lze využít pro "vypnutí" timeru pomocí gobject.source_remove(timer_id)
    timer_id = gobject.timeout_add(5000, kazdych_5_sekund)
    
    # Vytvoříme nové okno
    window = gtk.Window()
    
    # Tady spojíme událost "delete-event" (zavření okna)
    # s funkcí ukoncit()
    # která zapříčiní ukončení hlavní programové smyčky gtk.main()
    window.connect("delete-event", ukoncit, timer_id)
    window.set_border_width(10)
    window.set_title("Timer 5 sekund")
    
    # Vytvoříme nový popisek s popisem "Ahoj světe!!!"
    button = gtk.Button("Ahoj světe!!!")
    button.connect("clicked", button_clicked, None)
    #label = gtk.Label("Ahoj světe!!!")
    # A popisek připojíme do hlavního okna, které funguje jako kontejner
    window.add(button)
    
    # Tímto prohlásíme okno za připravené ke zobrazení
    window.resize(200,80)
    window.show_all()
    
    
    # A spustíme hlavní programovou smyčku
    gtk.main()
    
    Kdo chce, hledá způsob; kdo nechce, hledá důvod.

    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.