Windows, Ma c OS и UNIXes кодируют новые строки с разными символами.
- Windows использует
\r\n
- Ma c ОС использует
\r
- UNIX используют
\n
, если вы хотите, чтобы ваша программа была кроссплатформенной, вы должны использовать os.linesep
вместо OS- определите c перевод строки
, отвечая на комментарий:
На самом деле Windows, \r
просто возвращаются в начале строки, в то время как \n
фактически начинает новую строку (хорошее объяснение см. в этом StackExchange и ).
Я предполагаю, что на windows он позволяет вам просто писать в одной строке до выхода из программы.
К сожалению, он может работать, по крайней мере, с некоторыми терминалами в UNIX, но не обязательно на всех терминалах ...
В качестве обходного пути вы, вероятно, могли бы использовать символ \b
, который удаляет последний символ из линия, как клавиша [backspace]
.