If we need to write a new line to a file we have to code:
file_output.write('Fooo line \n')
Are there any reasons why Python does not have a writeln()
method?
In Python 2, use:
print >>file_output, 'Fooo line '
In Python 3, use:
print('Fooo line ', file=file_output)
It was omitted to provide a symmetric interface of the file
methods and because a writeln()
would make no sense:
read()
matches write()
: they both operate on raw datareadlines()
matches writelines()
: they both operate on lines including their EOLsreadline()
is rarely used; an iterator does the same job (except for the optional size
param)A writeline()
(or writeln()
) would be essentially the same as write()
, since it wouldn't add an EOL (to match the behavior of writelines()
).
The best way to mimic a print
to a file is to use the special print-to-file syntax of Python 2.x or the file
keyword argument of the print()
function, like Daniel suggested.
Personally, I prefer the print >>file, ...
syntax over file.write('...\n')
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With