Seite 1 von 1

komischer Fehler

Verfasst: Montag 24. Dezember 2012, 13:09
von dodo
Ich habe ein Programm geschrieben. An sich funktioniert es(laut Idle), aber wenn ich das ganze mit einem Doppelklick auf die Datei öffne bekomme ich eine Fehlermeldung, das die Variable "test" nicht definiert ist, wenn ich "test" eingebe.
Hier mein Code:

Code: Alles auswählen

import os
clear = lambda: os.system('cls')
try: #try und except sind hier nur, damit ich den Error sehen kann.
    import time
    import sys
    name = input("Name>")
    a = open(name+"1.txt")
    b = int(a.read())
    a.close()
    c = opem(name+"2.txt")
    d = 1 / int(c.read())
    c.close()
    clear()
    for i in range(int(b)):
        e = open(name+"_"+i+".txt")
        print(e.read())
        e.close()
        time.sleep(d)
        clear()
except Exception as inst:
    import time
    print(inst)
    time.sleep(2)
Die Fehlermeldung sieht wie folgt aus: "name ' " hier kommt das, was ich eingegeben habe, " ' is not defined."

Vielen Dank für jede Hilfe,

dodo

Re: komischer Fehler

Verfasst: Montag 24. Dezember 2012, 13:21
von sparrow
Unter Python 2.x ist input() die Eingabe von Python-Code, für die Eingabe einer Zeichenkette muss man raw_input() verwenden.

Warum importierst du an verschiedenen Stellen? Importe gehören an den Anfang des Scripts und nicht irgendwo in den Quelltext.
Öffne Dateien mit den width-Blöcken, dann brauchst du dich um das schließen nicht zu kümmern.
Der try-Block ist sehr verunglückt. Wenn man den alle Exceptions abfängt, kann man sich das auch direkt schenken.

Re: komischer Fehler

Verfasst: Montag 24. Dezember 2012, 13:34
von dodo
Ich habe aber 3.3 ...

Re: komischer Fehler

Verfasst: Montag 24. Dezember 2012, 13:36
von dodo
Ich habe jetzt input mit raw_input ersetzt und es funktioniert. Vielleicht hängt der Fehler daran, dass ich 2.7 noch von "früher" installiert hab.
Ich deinstalliere es mal, vielleicht funktioniert es dann...

Re: komischer Fehler

Verfasst: Montag 24. Dezember 2012, 13:40
von sparrow
Der Fehler liegt daran, dass offensichtlich der falsche Interpreter gestartet wird.
Rudimentär sollte man mit dem Betriebssystem und der Kommandozeile umgehen können, sonst kommt es immer wieder zu Problemen, die nicht in der Programmiersprache zu suchen sind.

Re: komischer Fehler

Verfasst: Montag 24. Dezember 2012, 13:58
von dodo
Mit neu installieren kann ich die Datei nicht mehr öffnen :(
Aber ich kenn Aushilfe: Einfach Dateityp neu verknüpfen.
Und ich weiß jetzt dadurch auch, warum das ganze nicht funktioniert hat: Der Dateityp ".py" war mit Python 2.7 und nicht mit Python 3.3 verknüpft.

Nun kommt aber ein weiteres Problem:Wein Windows XP hat keine Lust die Dateiendung ".pyw" mit pythonw.exe zu verbinden.

Re: komischer Fehler

Verfasst: Montag 24. Dezember 2012, 14:51
von Leonidas
Und statt dieses grausigen try-except-Konstruktes kannst du auch einfach das Skript in einer Konsole starten, dann siehst du die Ausgaben auch, ohne dass du so eine fehleranfällige und kaputte Konstruktion in deinem Code hast.