eigentlich wollte ich das usenet fragen, bloß spinnt mein reader gerade. Ich habe heute mein erstes Python Program, mit hilfe einer Reference geschrieben. Nun habe ich ein verständis Problem mit dem Namensraum, ich habe meine Reference so verstanden das der Globale-Namensraum inner halb einer Datei gilt. Ich habe folgenden code:
Code: Alles auswählen
def HandleCommMc(ser, cmd2Mc, logfileName):
ser.write(cmd2Mc + _Eol)
time.sleep(1)
answer = ReadData(ser)
LogMcReturn(logfileName, cmd2Mc, answer)
def GetTaskInformation(ser,config, logfileName):
tasklist = GetListOfLines(logfileName)
tasklist = FindTasks(tasklist, config)
if len(tasklist) > 0:
for i in range(len(tasklist) -1):
task = GetTaskName(tasklist[i][0])
if task[0] == True:
HandleCommMc(ser, 'intrp_GetInfo("' + task[1] + '")', logfileName)
HandleCommMc(ser, 'tt ' + tasklist[i][1], logfileName)
HandleCommMC(ser, 'checkStack(' + tasklist[i][1] + ')',logfileName)
HandleCommMC(ser, 'taskRegsShow(' + tasklist[i][1] + ')',logfileName)
else:
logfile = open(logfileName, 'a')
try:
logfile.write('No ' + config['misc.findtasks'] + ' tasks found' + _Eol)
finally:
logfile.close()
Traceback (most recent call last):
File "C:\Dokumente und Einstellungen\elfrosch\Desktop\McDump.py", line 259, in <module>
GetTaskInformation(ser, config, logfileName)
File "C:\Dokumente und Einstellungen\elfrosch\Desktop\McDump.py", line 221, in GetTaskInformation
HandleCommMC(ser, 'checkStack(' + tasklist[1] + ')',logfileName)
NameError: global name 'HandleCommMC' is not defined
Nach meinem Verständis befindet sich HandleCommMc im Globalen Namensraum, zu mal auch der Interpreter eine Zeile oberhalb die Routine HandleCommMC noch kennt. Erst dachte ich es würde sich um einen Tippfehler von mir handeln, ctrl+f in meinem Editor behauptet sie sind gleich geschrieben. Nun denke ich es liegt an meinem falschen Verständnis. Google konnte mir jeden falls nicht helfen.
Ich hoff ich geh mit meiner Rookie-Frage niemandem auf den Sack, aber ich blick's g'rad echt nicht.
Danke und viele Grüße
Elias