Какой тип разрывов строк обычно имеет скрипт Python? - PullRequest
3 голосов
/ 02 августа 2011

Мой босс продолжает раздражать меня из-за разрывов строк в Windows в моих скриптах Python, но я не могу понять, как они вызывают у него проблемы.

Является ли '\ r \ n' нормальным переводом строки для сценария Python? Или это происходит только на IDLE для ПК?

PS: Хорошо, кажется, когда я пишу скрипт на Mac, у него есть '\ n's, но есть ли способ, который \ r \ n' вызовет проблему?

Edit: ОК ... теперь я в полном замешательстве. Когда я интерпретирую файлы, написанные в Windows на Python, они все выплевываются, когда я печатаю строки на экране, как '\ n'. Переводит ли Python для Windows переводы строк?

Ответы [ 4 ]

1 голос
/ 02 августа 2011

Это не имеет ничего общего с Python, но с базовой ОС.Если вы сохраняете текстовый файл в Windows, вы получаете разрывы строк CRLF, если вы сохраняете его в системах Mac / Unix, вы получаете разрывы строк LF (а на Mac каменного века - разрывы строк CR).

Используйте редактор,позволяет вам сохранить формат разрыва строки ваших файлов.Нет, Блокнот нет, но большинство редакторов, которых я видел, делают.Я знаю UltraEdit и EditPadPro, и я могу порекомендовать оба.Я уверен, что IDE, такие как PyDev / Eclipse, тоже справятся с этим, но я не пробовал.

1 голос
/ 02 августа 2011

Создайте скрипт Python, который заменяет '\ r \ n' на '\ n'

Запускайте его каждый раз, когда вы даете код своему боссу.

0 голосов
/ 03 августа 2011

Этот sed однострочный преобразует скрипт Python для получения желаемых окончаний строки:

sed 's/\r\n/\n/g' <windows_script >unix_script
0 голосов
/ 02 августа 2011

У меня была такая же проблема. Да, выполнение простого поиска и замены должно решить эту проблему. Однако вам придется делать это каждый раз, когда вы делитесь кодом; Вы можете подумать об автоматизации как-то. Я никогда не делал этого сам.

...