Читать строки из txt python

У меня есть текстовый файл, и я хочу прочитать его строки в python. В основном я использую следующий метод:

f = open(description,'r')
out = f.readlines() 

for line in out:
    line

Я хочу иметь доступ к каждой строке текста после цикла for. Таким образом, хранить строки в матрице или что-то вроде списка.


person snake plissken    schedule 18.03.2014    source источник
comment
Вы правы, спасибо, новичок в python. Теперь, если я хочу иметь доступ к линейным элементам, мне нужно использовать что-то вроде разделенного элемента?   -  person snake plissken    schedule 18.03.2014
comment
Под линейными элементами вы имеете в виду каждую всю строку? Или отдельные символы в каждой строке?   -  person Cory Kramer    schedule 18.03.2014
comment
У меня есть числа, которые они разделяют пробелами.   -  person snake plissken    schedule 18.03.2014
comment
Да, вы можете сделать out = list(l.strip().split(" ") for l in f)   -  person jonrsharpe    schedule 18.03.2014


Ответы (1)


Вместо readlines вы можете использовать

lines = list(open(description, 'r'))

Открытый файл — это итератор, который выдает строки. Вызывая на нем list, вы создаете список всех из них. Нет реальной необходимости хранить открытый файл в переменной, делая это таким образом, что он будет закрыт.

Но использование readlines() для получения списка тоже очень хорошо.

person RemcoGerlich    schedule 18.03.2014
comment
readlines() уже создает список. (Даже в Python 3, несмотря на ваш комментарий к удаленному ответу). - person Wooble; 18.03.2014
comment
Черт, извини. Я быстро погуглил перед этим комментарием и прочитал, что в Dive into Python 3 теперь упоминается итератор, но я не стал читать, ответы на этот вопрос объясняют, что это не так. - person RemcoGerlich; 18.03.2014
comment
stackoverflow.com/questions/3541203/ - person RemcoGerlich; 18.03.2014
comment
Ах. Dive Into Python, как известно, местами неточен. - person Wooble; 18.03.2014