readlines дает мне дополнительные переносы строк вместо python2.6.5



У меня есть проблемы со следующим кодом:



file = open("file.txt", "r")
lines = file.readlines()
print lines[0]
print lines[1]
print lines[2]
file.close()


Этот код дает мне разрывы линий между строками. Таким образом, выход примерно такой:



line0

line1

line2


Как это можно решить?

725   3  

3 ответов:

print добавляет новую строку. Удалите новую строку из строки:

print lines[0].rstrip('\n')
print lines[1].rstrip('\n')
print lines[2].rstrip('\n')

Если Вы читаете весь файл в список в любом случае , альтернативой будет использование str.splitlines():

lines = file.read().splitlines()

, который по умолчанию удаляет новые строки из строк одновременно.

Делайте strip после каждой строки. Файл имеет новую строку в качестве последнего символа. Вы должны удалить его, когда прочтете.

print line[index].strip()

readlines() вернет массив строк. Каждая строка заканчивается разрывом строки.

Если вы хотите напечатать все строки в блоке, просто сделайте это:

with open("file.txt", "r") as file:
    lines = file.readlines()
    print "".join(lines)

Используйте with, вы всегда можете сохранить file.close()

Comments

    Ничего не найдено.