pythonhack
pythonhack

Reputation: 69

Python 3 Writing Input file in reverse order to output file

I have tried searching, but I havent found exactly what I need. I am using python 3, and I need help writing a text file in reverse order to a different output file.

So this would be the input file

Hey, I am Fred

Fred, what's up

Fred fred fred

And this would be the output file

Fred fred fred

Fred, what's up

Hey, I am Fred

If anyone has any insight into how to accomplish I would really appreciate it,

Upvotes: 3

Views: 2596

Answers (1)

panda-34
panda-34

Reputation: 4209

with open (input_file_name) as fi, open(output_file_name, 'w') as fo:
    fo.writelines(reversed(fi.readlines()))

If input_file is malformed (last line doesn't end with '\n') you may use a quick (maybe not too efficient) hack:

with open ('c:\\temp\\input_file') as fi, open('c:\\temp\\output_file', 'w') as fo:
    fo.write('\n'.join(reversed(fi.read().splitlines())))

Upvotes: 2

Related Questions