Добавление слов из текстового файла в список (python 2.7) - PullRequest
1 голос
/ 26 ноября 2011

Предполагая, что у меня есть текстовый файл.
Моя цель - написать функцию, которая получает номер строки для перехода в текстовом файле и возвращает список, каждая ячейка которого содержит одно слово именно из этой строки..
Есть идеи, как это сделать?

спасибо

Ответы [ 2 ]

2 голосов
/ 26 ноября 2011

Если вы работаете с небольшими файлами:

def get_words(mifile, my_line_number):
    with open(mifile) as f:
        lines = f.readlines()
        myline = lines[my_line_number]    #first line is 0
        return myline.split()

, вы получите все строки файла в списке lines.Это не очень эффективно для ОЧЕНЬ больших файлов.В этом случае, вероятно, было бы лучше выполнять итерацию построчно, пока не дойдете до выбранной строки.

1 голос
/ 26 ноября 2011

Учитывая filename и номер строки (lineno), вы можете извлечь слова из этой строки следующим образом:

Предполагая, что lineno не слишком велико:

import linecache

line = linecache.getline(filename, lineno)
words = line.split()

Или, если lineno большой:

import itertools

with open(filename,'r') as f:        
    line = next(itertools.islice(f,lineno-1,None))
    words = line.split()

Это, конечно, предполагает, что слова разделены пробелами - что может быть не так в трудном для анализа тексте.

...