On Wed, 07 Jul 2010 23:55:46 -0700, lavanya wrote: > Hello all, > > How do you append to a file using Python os::file APIs. So that it > appends to the content of the file. Not adding the content to the new > line. But just appends next to the exiting content of the file. > > Example : current content of file > A B C > if we append D to it, it should be > A B C D > > Not like: > A B C > D
f = open("myfile.txt", "a") f.write("D") will append to the end of myfile.txt, regardless of what is already in myfile.txt. If it ends with a newline: "A B C\n" then you will end up with: "A B C\nD" If there is no newline, you will end up with: "A B CD" If you need anything more complicated than that, the easiest solution is something like this: # read the entire file # modify the last line in memory # write the lines back to the file f = open("myfile.txt", "r") lines = f.readlines() f.close() if not lines: # file exists but is empty lines.append('') last_line = lines[-1] last_line = last_line.rstrip() # remove all trailing whitespace if last_line: last_line += " D\n" else: last_line = "D\n" lines[-1] = last_line f = open("myfile.txt", "w") f.writelines(lines) f.close() -- Steven -- http://mail.python.org/mailman/listinfo/python-list