On 9/29/17, Rob Gaddi <rgaddi@highlandtechnology.invalid> wrote: > On 09/29/2017 10:54 AM, Stefan Ram wrote: >> In some languages, printing »'\n'«, the Unicode code point 10, >> will have the effect of printing a line terminator, which might >> mean that the output device actually receives »\r\n«. >> >> The line terminator ostensibly depends on the operating >> system, but actually it depends on the output system. E.g., >> under one operating system the console might accept another >> set of line separators than an editor. (Under Windows, >> »wordpad« accepts »\n«, while »notepad« requires »\r\n«.) >> >> What is the recommended way to terminate a line written with >> Python? Is it »\n« or something else? For example, in Java, >> in some cases, one should terminate the line with the value >> of »java.lang.System.lineSeparator()« which might or might >> not be equal to the value of »"\n"«. >> >> Does it possibly depend on the entity being written to, which >> might be >> >> - the Python console, >> - the IDLE console, >> - the operating system console or >> - a text file? >> > > As everyone else has said; for general purpose (any of your cases) use > you should always just use '\n' and it automagically works. The only > time I've ever needed to explicitly worry about '\r' is communicating > over sockets or serial ports to devices. And in those cases you need to > stuff them with bytes rather than str anyhow, so you're already down in > the gory bits. > > -- > Rob Gaddi, Highland Technology -- www.highlandtechnology.com
There is also https://docs.python.org/3/library/csv.html#csv.Dialect.lineterminator which (I think) come from RFC4180 (see http://www.rfc-archive.org/getrfc.php?rfc=4180 search CRLF) http://www.rfc-archive.org/getrfc.php?rfc=2046 could be also interesting in this case. -- https://mail.python.org/mailman/listinfo/python-list