input = open(r'C:\Documents and Settings\Owner\Desktop\somefile.html','r') L = input.readlines() input.close
output = open(r'C:\Documents and Settings\Owner\Desktop\somefile_test.html','w')
for t in range(len(L)):
output.writelines(L[t])
output.close
I think you want to do [1]:
input = open(r'somefile.html', 'r') lst = input.readlines() input.close() # note the () -- this is a method call
output = open(r'somefile_test.html', 'w') output.writelines(lst) # not in a for-loop output.close() # note the () -- this is a method call
If you really want to use a for-loop, the code should look like:
for line in L: output.write(line)
If you call writelines when you only want to write one line, you're going to get odd behavior -- Python's going to interpret each character in your line as a "line" itself.
Also is there a way to test for EOF in Python?
file.read() or file.readline() will return '' if you have reached the end of the file.
STeVe
[1] In fact, what you really probably want to do is to take advantage of the fact that a file is an iterator. You can write:
input = open(r'somefile.html', 'r') output = open(r'somefile_test.html', 'w') output.writelines(input)
And the lines of somefile.html will be written to somefile_test.html. You might also look at the shutil module.
--
http://mail.python.org/mailman/listinfo/python-list