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

    Bylo vydáno Ubuntu 20.04.6 LTS, tj. šesté opravné vydání Ubuntu 20.04 LTS s kódovým názvem Focal Fossa. Přehled novinek v poznámkách k vydání a v přehledu změn.

    Ladislav Hagara | Komentářů: 0
    včera 14:44 | IT novinky

    Připojit neznámý USB flash disk do počítače může být nebezpečné. Dokonce může jít i o život. Někdo rozeslal ekvádorským novinářům USB flash disky, které po připojení do počítače explodují [BBC, Twitter].

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | Nová verze

    Byla vydána nová verze 7.4 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu.

    Ladislav Hagara | Komentářů: 0
    22.3. 21:55 | Nová verze

    Byla vydána verze 11.0 s kódovým jménem Aramo linuxové distribuce Trisquel GNU/Linux. Založena je na Ubuntu 22.04 LTS a podporována bude do roku 2027. Trisquel patří mezi svobodné distribuce doporučované Nadací pro svobodný software (FSF).

    Ladislav Hagara | Komentářů: 0
    22.3. 16:55 | IT novinky

    Mozilla založila startup Mozilla.ai a vložila do něj 30 milionů dolarů. Cílem je vývoj důvěryhodné, nezávislé a open source AI.

    Ladislav Hagara | Komentářů: 2
    22.3. 16:33 | Nová verze

    Po půl roce vývoje od vydání verze 43 bylo vydáno GNOME 44 s kódovým názvem Kuala Lumpur. Přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře. Krátké představení na YouTube.

    Ladislav Hagara | Komentářů: 22
    22.3. 13:33 | IT novinky

    Letošní Turingovou cenu (2022 ACM A.M. Turing Award) získal Bob Metcalfe za vynalezení, standardizaci a komercializaci Ethernetu.

    Ladislav Hagara | Komentářů: 0
    22.3. 07:00 | Nová verze

    Svobodná webová platforma pro sdílení a přehrávání videí PeerTube (Wikipedie) byla vydána ve verzi 5.1. Přehled novinek i s náhledy v oficiálním oznámení a na GitHubu.

    Ladislav Hagara | Komentářů: 0
    21.3. 18:22 | Nová verze

    Byla vydána Java 20 / JDK 20. Nových vlastností (JEP - JDK Enhancement Proposal) je 7. Nová Java / JDK vychází každých 6 měsíců. LTS verze je 17.

    Ladislav Hagara | Komentářů: 7
    21.3. 16:44 | IT novinky

    Google spustil konverzační AI Bard. Vyzkoušet lze zatím pouze ve Spojených státech a Spojeném království. Více v Bard FAQ.

    Ladislav Hagara | Komentářů: 2
    Používáte WSL (Windows Subsystem for Linux)?
     (74%)
     (12%)
     (4%)
     (10%)
    Celkem 301 hlasů
     Komentářů: 3, poslední včera 12:45
    Rozcestník


    Dotaz: Python, explicitni exit

    17.8.2007 16:17 qwerty
    Python, explicitni exit
    Přečteno: 465×
    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.