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 15:33 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.8.

    Ladislav Hagara | Komentářů: 2
    včera 14:22 | IT novinky

    Herní studio Hangar 13 vydalo novou Mafii. Mafia: Domovina je zasazena do krutého sicilského podsvětí na začátku 20. století. Na ProtonDB je zatím bez záznamu.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | IT novinky

    Operátor O2 má opět problémy. Jako omluvu za pondělní zhoršenou dostupnost služeb dal všem zákazníkům poukaz v hodnotě 300 Kč na nákup telefonu nebo příslušenství.

    Ladislav Hagara | Komentářů: 5
    včera 05:55 | IT novinky

    Společnost OpenAI představila GPT-5 (YouTube).

    Ladislav Hagara | Komentářů: 0
    včera 05:00 | Nová verze

    Byla vydána (𝕏) červencová aktualizace aneb nová verze 1.103 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.103 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    7.8. 17:33 | IT novinky

    Americký prezident Donald Trump vyzval nového generálního ředitele firmy na výrobu čipů Intel, aby odstoupil. Prezident to zdůvodnil vazbami nového šéfa Lip-Bu Tana na čínské firmy.

    Ladislav Hagara | Komentářů: 8
    7.8. 16:55 | Nová verze

    Bylo vydáno Ubuntu 24.04.3 LTS, tj. třetí opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na Discourse.

    Ladislav Hagara | Komentářů: 0
    7.8. 16:44 | Nová verze

    Byla vydána verze 1.89.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    7.8. 12:22 | IT novinky

    Americká technologická společnost Apple uskuteční v USA další investice ve výši sta miliard dolarů (2,1 bilionu korun). Oznámil to ve středu šéf firmy Tim Cook při setkání v Bílém domě s americkým prezidentem Donaldem Trumpem. Trump zároveň oznámil záměr zavést stoprocentní clo na polovodiče z dovozu.

    Ladislav Hagara | Komentářů: 5
    7.8. 04:55 | Nová verze

    Zálohovací server Proxmox Backup Server byl vydán v nové stabilní verzi 4.0. Založen je na Debianu 13 Trixie.

    Ladislav Hagara | Komentářů: 0
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (47%)
     (20%)
     (4%)
     (5%)
     (3%)
     (1%)
     (1%)
     (18%)
    Celkem 313 hlasů
     Komentářů: 23, poslední 4.8. 13:01
    Rozcestník

    Dotaz: Python, explicitni exit

    17.8.2007 16:17 qwerty
    Python, explicitni exit
    Přečteno: 493×
    Ahoj,

    nevite nekdo jak udelat v pythonu, aby pri importovani modulu explicitne skoncil jeho provadeni napr. pri splneni nejake podminky ? Neco ve smyslu:

    if cond: break

    Break, continue ani return nefunguje :) Diky

    Odpovědi

    17.8.2007 16:51 edois
    Rozbalit Rozbalit vše Re: Python, explicitni exit
    pokud se ptate na to, na co myslim, ze se ptate, tak:
    from sys import exit
    exit(0)
    
    nebo
    import sys
    sys.exit(0)
    
    nebo
    raise SystemExit(0)
    
    17.8.2007 16:52 edois
    Rozbalit Rozbalit vše Re: Python, explicitni exit
    (samozrejme misto te nuly lze dat jiny navratovy kod)
    17.8.2007 17:12 qwerty
    Rozbalit Rozbalit vše Re: Python, explicitni exit
    To neni ono, to ukonci cely program. To co potrebuji je aby to ukoncilo provadeni modulu. Semanticky by se to melo chovat tak jako by na danem miste bylo goto na konec zdrojoveho textu daneho importovaneho skriptu. Tzn. pak se provadeni vrati do mista odkud byl volan import toho modulu. Jednou moznosti by mohlo mozna byt dat import do try bloku a v pozadovanem miste ve zdrojovem textu modulu zavolat sys.exit() a venku tu vyjimku odchytit, protoze pokud se nemylim sys.exit() vyvola vyjimku. Spis by me zajimalo jestli neexistuje nejake prirozenejsi reseni, python moc neumim tak nevim :)
    17.8.2007 17:17 edois
    Rozbalit Rozbalit vše Re: Python, explicitni exit
    import do try blocku vubec neni spatny napad, ale je potreba tam chytat jen tu jednu exception, tzn. SystemExit
    17.8.2007 17:25 edois
    Rozbalit Rozbalit vše Re: Python, explicitni exit
    pripadne ten modul mit takhle:
    
    while True:
    
        # tady nejaky kod
    
        if cond: break
    
        # tady dalsi kod
    
        if cond: break
    
        # tady posledni kus kodu
    
        break
    
    #endwhile
    
    
    17.8.2007 17:30 edois
    Rozbalit Rozbalit vše Re: Python, explicitni exit
    uplne nejlepsi je stejne
    def init():
        # kod
    
        if cond: return
    
        # kod
    
        if cond: return
    
        # kod
    #enddef
    
    init()
    
    
    17.8.2007 17:32 qwerty
    Rozbalit Rozbalit vše Re: Python, explicitni exit
    Ano tu moznost hodit cely obsah modulu do nejakych podminkovych bloku me samozrejme napadla ale nechtel jsem to delat :), je to pak zmatek kdyz k vuli jedne podmince uprostred kodu mam dat obrovsky blok do nejakeho ifu.

    Co se tyce toho zpusobu s tou vyjimkou, pouzit ten sys.exit se mi taky moc nechce protoze on to vlastne "neni" SystemExit a jen bych zneuzil tuto vyjimku k jinemu ucelu.

    Pokud tedy neexistuje zadne standartni reseni tohodle problemu tak me napada ze asi nejlepsi by bylo proste tam vyhodit mnou definovanou vlastni vyjimku a u importu ji chytit.
    20.8.2007 09:19 Petr Mach | skóre: 9 | blog: Hláska
    Rozbalit Rozbalit vše Re: Python, explicitni exit
    Samozřejmě, udělej si vlastní výjimku ExceptionModuleAbort, to je čisté řešení.
    17.8.2007 17:29 Radek Podgorny | skóre: 16
    Rozbalit Rozbalit vše Re: Python, explicitni exit
    ...a k cemu to?
    17.8.2007 17:30 edois
    Rozbalit Rozbalit vše Re: Python, explicitni exit
    taky zajimava otazka ;)
    19.8.2007 21:01 Robert Krátký | skóre: 94 | blog: Robertův bloček
    Rozbalit Rozbalit vše admin
    Sorry, tento dotaz je v Poradně offtopic, a proto bude uzamčen a později vymazán. Díky za pochopení.
    19.8.2007 23:17 Tomas
    Rozbalit Rozbalit vše Re: Python, explicitni exit
    Bud jak bylo receno to cele dat do funkce, nebo pouzit vyjimku:
    class ExitModule(Exception):
      pass
    
    try:
    
      ... nejaky kod ...
    
      # ukonceni modulu 
      raise ExitModule
    
      ... nejaky kod ...
    
    except ExitModule:
      pass
    

    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.