Как сохранить формат текстового файла при чтении текстового файла через Python?

У меня есть .txt-файл, в котором есть список элементов, которые выглядят так:

BLAH ONE TWO THREE FOUR 

В настоящее время я использую Python для чтения этого .txt-файла и распечатки строк текста. Проблема, с которой я сталкиваюсь, заключается в том, что на печатных строках отображается символ новой строки \n и запятая. Это выглядит так, когда я печатаю данные из файла .txt:

 BLAH \n, ONE \n, TWO \n, THREE \n, FOUR 

Я попытался использовать .replace("\n,", "") пытаясь хотя бы избавиться от нежелательных символов, но это, похоже, не работает. Как я могу получить тот же формат из файла .txt с помощью команд Python?

По запросу, вот мой код:

 file = open("plstemp.txt", "r") abc=str(file.readlines()) wow = abc.replace("[", "").replace("]", "").replace("'", "") print(wow) file.close() 

Мой желаемый результат выглядит следующим образом:

 BLAH ONE TWO THREE FOUR 

3 Solutions collect form web for “Как сохранить формат текстового файла при чтении текстового файла через Python?”

Как вы подозреваете, вы используете readlines который даст вам список. Где каждый элемент в списке является строкой из вашего файла. Вам не нужно делать эту полную замену '['. Вы должны понимать, что у вас есть список.

Итак, выполняя file.readlines() , вы будете иметь:

 ['BLAH\n', 'ONE\n', 'TWO\n', 'THREE\n', 'FOUR\n'] 

Если вы используете file.read() и распечатаете результат:

 BLAH ONE TWO THREE FOUR 

Имейте в виду, что у вас все еще есть «\ n», потому что вам действительно нужно, чтобы он выводил выше, так как «\ n» на самом деле является особым символом, означающим «новая строка».

Таким образом, чтобы повторно написать свой код, вы можете просто сделать (вам не нужно указывать «r», поскольку по умолчанию это «r»):

 file = open("plstemp.txt") abc=file.read() file.close() print(abc) 

readlines возвращает строки вашего файла в виде списка, но затем вы применяете функцию str к списку, который преобразует список в строку; вот почему вы получаете нежелательные [ и ] .

Если вы просто хотите прочитать во всем файле, вы можете сделать следующее

 f = open("plstemp.txt", "r") wow = f.read() f.close() print(wow) 

Также избегайте использования file в качестве имени переменной, потому что это встроенный тип python.

Хорошо, теперь понятно, что я вижу ваш код 🙂

readlines() , а цикл for будет возвращать список. Вы используете str() fonction в списке, который, я думаю, не будет работать. Я предполагаю, что ответ idjaw прав. Вы могли бы попробовать:

 file = open("plstemp.txt", "r") abc=file.readlines() wow = ",".join(abc) #joining a list into a string by commas as a separator print(wow) file.close() 
  • Указание стилей для частей дампа PyYAML (II): последовательности
  • Можно ли придумать форматирование для нижних колонтитулов страницы с помощью weasyprint?
  • Как вы можете использовать имя переменной внутри спецификатора формата Python
  • python и pyPdf - как извлечь текст со страниц, чтобы между строк были пробелы
  • Невозможно кодировать / декодировать вывод pprint
  • Разделение модуля Python на несколько регионов
  • Форматирование строки журнала python
  • Как печатать переменное количество элементов с помощью sep и end?
  • значение формата, которое может быть числом и / или строкой в ​​python 3
  • Как я могу напечатать строку с помощью .format () и скопировать фигурные скобки буквально вокруг моей замененной строки
  • Javascript эквивалентен python .format ()
  •  
    Interesting Posts for Van-Lav
    Python - лучший язык программирования в мире.