什么是解决我的问题的最好方法是什么?
我有一个包含字符串行的文件。我想分析一下。所以在我的方法,我必须先去N行,与他们做什么,不是代替1 - 第一行,我需要采取N + 1行,并分析该块,比代替2挡线 - N + 2线等在文件的结尾。
st_1
st_2
st_3
...
st_LAST
第一块:
[st_1, st_2, ... , st_N]
第二块:
[st_2, st_3, ... , st_N, st_N+1]
最后块:
[st_LAST-N, st_LAST-N+1, ... , st_LAST]
让我们考虑您分配的文件的文本到一个变量(一个或多个)。接下来,您可以用线把它分解。遍历长度的范围内,并用它来创建,虽然片和循环他们。
s='some text1\nsome text2\nsome text3\nsome text4\nsome text5\nsome text6\n'
n_block = 3 # size of the block you want to split
list_s=s.split('\n')
for i in range(len(list_s)):
block = i + n_block if i + n_block < len(list_s)-1 else len(list_s)-1
for y in list_s[i:block]:
#...
#do something
#...
这应该工作:
filename = "your_file.txt"
with open(filename,'r') as f:
lines = f.readlines()
N = 5# size of block
for i in range(len(lines)-N+1):
print(lines[i:i+block_size])