aws Al-Aisafa wrote: > Why doesn't this code work?
> #I want this code to write to the first file and then take the > #contents of the first file and copy them to the second. > > from sys import argv > > script, file1, file2 = argv > > > def write_to_file(fileread, filewrite): > '''Writes to a file ''' > filewrite.write(fileread) > > > input_file = open(file1, 'r+w') > output_file = open(file2, 'w') > > datain = raw_input(">") > input_file.write(datain) > > print input_file.read() > > write_to_file(input_file.read(), output_file) > create a new version of this paste > http://pastebin.com/A3Sf9WPu > input_file.write(datain) The file cursor is now positioned after the data you have just written. Then you read all data in the file *after* that data. As there is not data (you have reached the end of the file) the following prints the empty string: > print input_file.read() One way to fix this is to move the file pointer back to the beginning of the file with input_file.seek(0) so that a subsequent input_file.read() will return the complete contents of the file. For the simple example it would of course be sufficient to reuse datain: write_to_file(datain, output_file) -- https://mail.python.org/mailman/listinfo/python-list