假設我有一個文本文件。
我的目標是編寫一個函數,在文本文件中接收許多行並返回一個列表,列表中的每個單元格都包含與該行完全相同的一個單詞。
任何想法如何做到這一點?將文本文件中的單詞添加到列表中(python 2.7)
感謝
假設我有一個文本文件。
我的目標是編寫一個函數,在文本文件中接收許多行並返回一個列表,列表中的每個單元格都包含與該行完全相同的一個單詞。
任何想法如何做到這一點?將文本文件中的單詞添加到列表中(python 2.7)
感謝
如果你是小文件的工作:
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
中的所有文件中的行。這對於很大的文件來說效率不高。在這種情況下,最好逐行迭代,直到到達所選行。
鑑於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()
這當然假設單詞之間用空格分隔 - 這可能不是情況難以解析的文本。
+1對於linecache,ops抱歉,每日投票達成。必須等待8個小時:-) – joaquin
我們在這裏,我今天得到了一個裝滿了選票的新包 – joaquin