块长串成513个字符块| Python 3.3

时间:2016-02-26 14:35:48

标签: python string

我需要逐行读取带有python 3.3的.txt文件,并将字符长度(格式:MEHSAOSHAHSHSUDO ....)分成513个字符块。 我的代码适用于第一行,但是下一行不起作用,我无法解决原因。

我也很困惑如何让代码重复下一行函数直到文件结束。该文件大约有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个)并制作一个新的块。但是一步一步呃

1 个答案:

答案 0 :(得分:4)

Invoke

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

next_line = string.readline(+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()