将长字符串分块为513个字符块| Python 3.3
我需要用python 3.3逐行读取.txt文件,并将字符长度(格式:MEHSAOSHAHSHSUDO ....)分成513个字符块。 我的代码适用于第一行,但下一行不起作用,我无法解决原因。将长字符串分块为513个字符块| Python 3.3
我也很困惑如何让代码重复下一行功能,直到文件结束。该文件长约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块,如果有一大块是不够例如该行的长度为600个字母以计数适量的字母(例如87)并制作新的块。但一个步骤在一个时间诶
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)]
现在回到你最初的方法:可选参数size
是.readline()
需要指定的字符数应最多可以从当前行读取。所以,你可以用它来实现自己的目标:
with open('bsxlength.txt' , 'r') as string:
result = []
while True:
chunk = string.readline(513)
if chunk:
result.append(chunk)
else:
break
三江源这么多!任何有关如何倒计数的线索(请参阅编辑之一) –
对不起,我输错了;它应该是'用于字符串中的行',而不是'文件'。看我的编辑。 –
Thankyou编辑修正了它! –
可能重复的:http://*.com/questions/9475241/split-python-string-every-nth-character –