Python 将文本分为5行,然后逐一处理
我正在尝试编写一个程序,将一个文本文件组织成5行块,并将整个文本分割成这些块,分别处理 目前我正在尝试使用:Python 将文本分为5行,然后逐一处理,python,loops,chunking,Python,Loops,Chunking,我正在尝试编写一个程序,将一个文本文件组织成5行块,并将整个文本分割成这些块,分别处理 目前我正在尝试使用: text = open(filename).readlines() chunk5 = zip(*(iter(text),) * 5) for lines in chunk5: line = re.split('\n', text) # split a chunk into lines by line break # ...more statements 请原谅,因为我
text = open(filename).readlines()
chunk5 = zip(*(iter(text),) * 5)
for lines in chunk5:
line = re.split('\n', text) # split a chunk into lines by line break
# ...more statements
请原谅,因为我是一个完全的初学者,但这是正确的方法吗?我觉得chunk5中的行中的chunk5缺少了一些东西,这些行将指定我正在使用的块
我如何让程序检查每个块,直到它也处理完文本中的所有块 我总是喜欢发电机解决这样的问题:
def chunkN(lines, N):
acc = []
for line in lines:
acc.append(line)
if len(acc) == N:
yield acc
acc = []
if len(acc): # remainder
yield acc
# Now you can do this...
for chunk in chunkN(open('myfile', 'r'), 5):
print '-' * 80
print ''.join(chunk)
我将保留区块大小的参数化和访问剩余部分为什么将其分组,然后再次将其拆分为行?啊,之所以再次将其拆分为谎言,是因为最终在5行的每个区块中,我创建了一个列表,列出了第1行和第2行,其中这些行中的每个单词都相互对应。然后,我将它们压缩到一个包含匹配键和值的字典中,以添加到整个文本的更大字典中。@用户:在这种情况下,您不想拆分
文本。可能您想拆分行[0]
和行[1]
或其他什么。还可以从中检查grouper
功能。它比较短,不使用临时列表。