"SystemError: Object reference not set to an instance of an object."
Code: Alles auswählen
print fnamepart2
found=False
for cf in range(len(Calfiles)):
print Calfiles[cf,3]
print 1
print 2
print fnamepart2
print 3
print Calfiles[cf,3]
print 4
if fnamepart2==Calfiles[cf,3]: # not working
print 5
self.CommSystem=Calfiles[cf,1]
self.UID=Calfiles[cf,0]
self.AnritsuFile=Calfiles[cf,2]
found=True
print self.AnritsuFile
break
Meine Frage dazu: Wie macht das überhaupt Sinn? Wie kann in "if fnamepart2==Calfiles[cf,3]: " plötzlich ein Objekt nicht gesetzt sein wenn es eine Zeile vorher noch möglich war genau dieses zu printen?
Ich hätte eigentlich gedacht, dass das auch total unahängig davon sein sollte was in den beiden Objekten die verglichen werden steht. (Kann mich dazu vielleicht mal jemand aufklären?)
Es gibt ja durchaus eine einfache Möglichkeit das Problem zu umgehen (siehe unten):
Mit dieser Variante läuft der Code immer durch und ich habe bei mehr als 20 Versuchen noch nie einen Counter>1 gesehen, aber ich würde doch schon gerne verstehen was da los ist, und wie ich das Problem sauber lösen kann.
Code: Alles auswählen
counter=0
for cf in range(len(Calfiles)):
print Calfiles[cf,3]
done=False
counter=0
while done==False:
try:
print 1
counter=counter+1
print 2
print fnamepart2
print 3
print Calfiles[cf,3]
print 4
if fnamepart2==Calfiles[cf,3]: # not working
print 5
self.CommSystem=Calfiles[cf,1]
self.UID=Calfiles[cf,0]
self.AnritsuFile=Calfiles[cf,2]
found=True
print self.AnritsuFile
break
done=True
except:
print "counter", counter
if counter >10:
raise errorhandler(27)
Cecile