1
Ich habe es mit einem Skript, das nicht funktioniert.Kann einen Python-Fehler nicht verstehen
Zuerst i transkribieren den Fehler:
File "/home/path", line nº, in out_to_mop_let #~this is the function
for lindex in range(lstart+ 4,lfinish):
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
Das Skript ist derjenige unten, wo i ** Symbole um das offensichtliche Problem gestellt haben:
def out_to_mop_let (namefilein, namefileout, keywords=""):
print namefilein
filein=open(namefilein, "r")
fileout=open(namefileout, "w")
lines = filein.readlines()
filein.close()
lstart = None
lfinish = None
for lindex in range(0,len(lines)):
if lindex-4>lstart and lines[lindex]=='\n' and lfinish==None and lstart!=None:
lfinish=lindex+1
if "CURRENT VALUE OF HEAT OF FORMATION" in lines[lindex]:
lstart=lindex
print lstart
print lfinish
fileout.write(keywords + "\n\n\n")
**for lindex in range(lstart+ 4,lfinish):
fileout.write(lines[lindex])**
fileout.close()
filein.close()
Gibt es etwas falsch?
Sie initialisieren 'lstart' mit' None'. Wenn "CURRENT VALUE OF HEAT OF FORMATION" nicht in "lines [lindex]" steht, ändert sich der Wert nicht. – Matthias
Wenn 'len (lines) == 0', dann gehst du nie in deine Schleife und änderst' Lstart' niemals von 'None' –
Sieht so aus als ob" lstart "immer noch' None' ist, wenn es zur 'for loop' und es versucht, den '+' Operator zu 'None' Typ und' int' – CiaranWelsh