Keresés

Új hozzászólás Aktív témák

  • justmemory

    senior tag

    válasz Pulsar #1448 üzenetére

    Szia,

    én úgy tudom, hogy ha a try-ban akármelyik feltétel nem teljesül, akkor már az except-re fog futni a dolog, magyarul ha a file1 nem nyitható, akkor error-t fog dobni.
    Én egyébként lehet inkább így írnám (noha én is csak hobbista vagyok :) ):

    def olvasni():
    try:
    with open("testfile.txt”,”r”) as testfile, with open(“testfile1.txt”,”r”) as testfile1:
    tartalom = testfile.readlines()
    tartalom1 = testfile1.readlines()
    amit_csinálni_akarsz()
    akármi = "1"
    except:
    akármi = "0"
    return akármi

    Így ha akármelyik fájlt nem tudja megnyitni, akkor az except-re fog futni.

    A fenti módszer csak python 2.7 vagy afölötti verzióval működik, 2.6 és az alatt úgy kell, hogy:
    try:
    with open("testfile.txt”,”r”) as testfile:
    with open("testfile1.txt”,”r”) as testfile1:

    [ Szerkesztve ]

    --- Imprisoned, inside this mind... --- Joined at the soul with a pair of headphones ---

  • KEAN

    tag

    válasz Pulsar #1448 üzenetére

    try ... except szerkezetben bármilyen hiba történik, akkor aktiválódni fog az except ág, szóval a kérdésedre a válasz igen.
    Amúgy lehet "szűrni" a hibákra, ha különféle módokon akarod lekezelni őket. (Persze neked most mindkét parancs IOError-t dobna, szóval ezzel itt és most nem sokra mész...)

    try:
    some_risky_thing
    except KeyError:
    do_something_with_keyerror
    except IndexError:
    do_something_with_indexerror

    (A fenti példában csak a két "nevesített" hibát kapjuk el, minden más hiba a program leálláshoz vezet vagy legalábbis traceback fog keletkezni.)

    "Persze, hogy tudtam, csak nem sejtettem!"

Új hozzászólás Aktív témák