蟒蛇。如何读取文件与步骤(块),而不是重新编写每个块?

问题描述 投票:0回答:2

什么是解决我的问题的最好方法是什么?

我有一个包含字符串行的文件。我想分析一下。所以在我的方法,我必须先去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]
python python-3.x file nlp
2个回答
0
投票

让我们考虑您分配的文件的文本到一个变量(一个或多个)。接下来,您可以用线把它分解。遍历长度的范围内,并用它来创建,虽然片和循环他们。

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
        #...

0
投票

这应该工作:

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])
© www.soinside.com 2019 - 2024. All rights reserved.