Der Code I bin mit hier gezeigt:Kann ich eine globale Variable am Anfang meines Codes verwenden, wenn ich sie am Ende meines Programms definiert habe?
import os.path
def def1():
global filename
if os.path.isfile(filename+ ".txt") == True:
print ("Filename exists")
if os.path.isfile(filename+ ".txt") == False:
print("Filename dosent exist")
def def2():
global filename
filename = input("Please input the name if the file you want to see exists")
def Main():
def1()
def2()
Main()
Was der Code tut, ist zu überprüfen, ob eine Datei vorhanden ist, und der Benutzer kann den Namen der Datei, die er/sie überprüfen will. Dieser Code wird in einer viel größeren Codedatei verwendet. Ich bin nicht in der Lage zu verstehen, warum ich diese Fehlermeldung erhalten, wenn ich den Code ausführen:
Traceback (most recent call last):
File "/Users/Sid/Desktop/existfiletest.py", line 18, in <module>
Main()
File "/Users/Sid/Desktop/existfiletest.py", line 15, in Main
def1()
File "/Users/Sid/Desktop/existfiletest.py", line 5, in def1
if os.path.isfile(filename+ ".txt") == True:
NameError: name 'filename' is not defined
ich die Variable ‚Dateiname‘ definiert haben als globaler in def2(), aber ich starten Sie das Programm durch den Aufruf def1 aus (). Die Variable 'Dateiname' ist eine globale Variable, daher sehe ich nicht, warum sie in def1() nicht verwendet werden kann. Und wenn jemand sagt, def2() zuerst anzurufen, funktioniert das ja. Allerdings würde ich gerne wissen, ob ich eine Variable vor der Definition verwenden kann, wie dies in meinem größeren Code der Fall ist.
Vielen Dank im Voraus.
Das gleiche geschieht. – Kronixion
Wie können Sie eine Variable verwenden, bevor Sie sie definieren? Python ist kein alter Fortran. Aber selbst im alten Fortran ist der 'Typ' noch definiert. In Python können Sie eine Variable nicht verwenden, ohne sie zu definieren – wander95