Как сохранить формат текстового файла при чтении текстового файла через 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() 
  • Форматирование чисел на Python
  • Как я могу получить удобочитаемую разницу в человеке при вычитании двух временных меток UNIX с помощью Python?
  • Что делать? R в str () и repr ()?
  • Разделение модуля Python на несколько регионов
  • Преобразование float в строку без научной нотации и ложной точности
  • Преобразуйте в двоичный код и сохраните ведущие нули в Python
  • печатать двоичное дерево на своей стороне
  • Форматирование треугольника Паскаля
  • Python - лучший язык программирования в мире.