Строка Python заменяет не работающие новые строки - PullRequest
4 голосов
/ 19 октября 2011

У меня есть файл ключевых слов, я просто хотел заменить новые строки запятыми

print file("keywords.txt", "r").read().replace("\n", ", ")

перепробовал все варианты \r\n

Ответы [ 5 ]

5 голосов
/ 02 июля 2014

Не забывайте, это Python!Всегда ищите легкий путь ...

',' .join (mystring.splitlines ())

2 голосов
/ 19 октября 2011

Ваш код должен работать как написано.Однако есть и другой способ.

Пусть Python разделит строки для вас (for line in f).Используйте open вместо file.Используйте with, чтобы вам не нужно было закрывать файл вручную.

with open("keywords.txt", "r") as f:
    print ', '.join(line.rstrip() for line in f) # don't have to know line ending!
0 голосов
/ 19 октября 2011

Код, который вы написали, работает для меня в тестовом файле, который я создал.

Вы пытаетесь записать результаты обратно в файл?

Вы можете попробовать просмотреть входной файл в шестнадцатеричном редакторе, чтобы увидеть окончания строк.

0 голосов
/ 19 октября 2011

Вы хотите заменить фактическое содержимое файла?Как это:

newContent = file("keywords.txt", "r").read().replace("\r", "").replace("\n", ", ")
open("keywords.txt", "w").write(newContent)
0 голосов
/ 19 октября 2011

Я только что попробовал это, и это работает для меня. Как выглядит ваш файл?

Мой файл "temp.txt" выглядел так:

а
б
с
д
е

и мой файл python имел этот код:

print file("temp.txt", "r").read().replace("\n", ", ")

Это был мой вывод:

> python temp_read.py
а, б, в, д, е

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...