Saving variable value to a file does not work!!!!
Steve Holden
sholden at holdenweb.com
Sun Sep 30 12:52:11 EDT 2001
More information about the Python-list mailing list
Sun Sep 30 12:52:11 EDT 2001
- Previous message (by thread): Saving variable value to a file does not work!!!!
- Next message (by thread): Saving variable value to a file does not work!!!!
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
"Husam" <husalwan at sci.kun.nl> wrote in message news:3BB74291.CB898293 at sci.kun.nl... > Hi friends, > Im a newbie and trying to save the value of variable 'counter' to a > file, but it does not work. > The code Im usig is: > > > for line in lines: # I'm reading from file: test2.txt. > One of it's lines contain: ID 5. > string.split(line) Unforunately the line above does not alter the "line" variable. Maybe what you need is line = string.split(line) or it's method-based alternative (good in 2.x): line = line.split() However, once you have split the line, you cannot then continue to treat is as a string, since you will have transformed it into an array of strings. The next two statements should therefore be changed... > if line[0:2]=='ID': > counter=int(line[3]) if line[0] == 'ID': counter = int(line[1]) However, the code as you have written it appears to work because you are treating line as a string throughout, so you might equally prefer to simpy remove the string.split(line) call, which does nothing because you don't assign the result. > output=open('test2.txt','a') # Hier Im opening the same file for > append. > output.write(counter +1) # This is the trouble making > line! > output.close() > > > The error message I get when this code is run: > > Traceback (innermost last): > File "./script.py", line 23, in ? > output.write(counter+1) > TypeError: read-only buffer, int > This error message appears because what you are trying to write is not a string: >>> output = open("deleteme.txt", "a") >>> output.write(5+1) Traceback (innermost last): File "<pyshell#1>", line 1, in ? output.write(5+1) TypeError: read-only character buffer, int The following should work: output.write(str(counter+1)) >>> output.write(str(5+1)) >>> Hope this helps. regards Steve -- -- http://www.holdenweb.com/
- Previous message (by thread): Saving variable value to a file does not work!!!!
- Next message (by thread): Saving variable value to a file does not work!!!!
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list