gpt4 book ai didi

python - 将长字符串分成 513 个字符 block | Python 3.3

转载 作者:太空宇宙 更新时间:2023-11-04 10:15:27 25 4
gpt4 key购买 nike

我需要使用 python 3.3 逐行读取一个 .txt 文件,并将字符长度(格式:MEHSAOSHAHSHSUDO....)拆分为 513 个字符 block 。我的代码适用于第一行,但下一行不起作用,我不知道为什么。

我也对如何让代码重复下一行函数直到文件末尾感到困惑。该文件长约 500 行。

这是我目前所拥有的:

with open('bsxlength.txt' , 'r') as string:
first_line = string.readline()
n = 513
print [first_line[i:i+n] for i in range(0, len(first_line), n)]
next_line = string.readline(+2)
n = 513
print [next_line[i:i+n] for i in range(0, len(next_line), n)]

谢谢

最终目标是将行分成 513 个 block ,如果没有足够的 block ,例如该行有 600 个字母长,用于计算适当数量的字母(例如 87)并创建一个新 block 。但是一步一个脚印啊

最佳答案

next_line = string.readline(+2)

表示“从当前行最多读取 2 个字符”,而不是“读取第二行”。您也不必为每一行手动重复相同的命令 - 只需使用一个循环:

with open('bsxlength.txt' , 'r') as string:
n = 513
for line in string:
print [line[i:i+n] for i in range(0, len(line), n)]

现在回到您的初始方法:.readline() 采用的可选参数 size 指定最多应从当前行读取的字符数。所以你可以用它来实现你的目标:

with open('bsxlength.txt' , 'r') as string:
result = []
while True:
chunk = string.readline(513)
if chunk:
result.append(chunk)
else:
break

关于python - 将长字符串分成 513 个字符 block | Python 3.3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35654459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com