Дополнительно
чтение файла без новых строк в Python
В Python вызов
temp = open(filename,'r').readlines()
приводит к получению списка, в котором каждый элемент является строкой в файле. Это немного глупо, но все же: readlines()
также записывает символ новой строки в каждый элемент, чего я не хочу.
Как я могу избежать этого?
316
10
Вы можете прочитать весь файл и разделить строки, используя
str.splitlines
:Или вы можете удалить новую строку вручную:
Примечание: это последнее решение работает только если файл заканчивается новой строкой, иначе последняя строка потеряет символ.
Это предположение верно в большинстве случаев (особенно для файлов, созданных текстовыми редакторами, которые часто делают добавление завершающей новой строки в любом случае).
Если вы хотите избежать этого, вы можете добавить новую строку в конец файла:
Или более простая альтернатива -
зачеркнуть
новую строку:Или даже, хотя это довольно нечитабельно:
Который использует тот факт, что возвращаемое значение
or
- это не булева величина, а объект, который был оценен как true или false.Метод
readlines
фактически эквивалентен:Поскольку
readline()
сохраняет новую строку,readlines()
также сохраняет ее.Примечание: для симметрии к
readlines()
методwritelines()
не добавляет завершающие новые строки, поэтомуf2.writelines(f.readlines())
производит точную копиюf
вf2
.Я думаю, что это лучший вариант.
другой пример:
Прочитав одну строку файла по времени. Удаление нежелательных символов с конца строки ул
.rstrip(чарс)
см. также стр
.прокладка([Чарси])
и пр..lstrip([символов])
(в Python >= 2.0)
Попробуйте это:
Чтобы удалить все начальные и конечные пробельные символы (по аналогии с Абага'ы ответ) -
Чтобы удалить все конечные whitspaces включая символ новой строки -
Если вы хотите просто удаляет замыкающий символ новой строки, а не пробелы -
С. П. Если вы находите это полезным, то, пожалуйста, проголосовать за него.