Alessandro wrote:
<snip>

I closed and restarted the python console. Now this code (with added
"Nfile.close()" at the end) seems to work properly:

linestring = open(path, 'r').read()
i=linestring.index("*NODE")
i=linestring.index("E",i)
e=linestring.index("*",i+10)
textN = linestring[i+2:e-1]
Nfile = open("N.txt", "w")
Nfile.write(textN)
Nfile.close()

thanks, Alex

Others had already mentioned close(), but I didn't bother, since it would be automatically closed when you exited the function, or finished the script. I never dreamed you were running all this from the interpreter. If so, why didn't you copy the prompts?

The close is best done explicitly, but it is implicit when the Nfile goes out of scope, or gets reassigned (like the new open).

However, the bug I described is still there. Study the following, and try it:

def test():
   buf = "abcdefghijklmnopqrstg000"
   i = buf.index("d")
   e = buf.index("g", i+10)
   buf2 = buf[i+2:e-1]
   print buf2

running it produces the string:

fghijklmnopqrs

Notice the 't' is missing. If you're deliberately doing that, fine. But I doubt it.



--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to