I am learning python and I wrote a script that copies the content of one text file to another.
Here is my code.
from sys import argv
out_file = open(argv[2], 'w').write(open(argv[1]).read())
out_file.close()
I get the AttributeError listed on the title. Why is it that wen I call the write method on open(argv[2], 'w') the out_file is not assigned a File type?
Thank you in advance
out_file
is being assigned to the return value of the write
method, which is None
. Break the statement into two:
out_file = open(argv[2], 'w')
out_file.write(open(argv[1]).read())
out_file.close()
And really, it'd be preferable to do this:
with open(argv[1]) as in_file, open(argv[2], 'w') as out_file:
out_file.write(in_file.read())
Using with with
statement means Python will automatically close in_file
and out_file
when execution leaves the with
block.