如何从python文件中读取给定数量的字节?

如何从python文件中读取给定数量的字节?,python,file,byte,eof,Python,File,Byte,Eof,因此,我正在做一项学校作业,我必须编写一个服务器(使用C)和一个客户端(使用python) 客户机必须能够接受诸如“PUTCFG”之类的命令,这使其能够将启动文件发送到服务器。为了发送文件,我被告知使用给定的pdu,其中包的“数据”部分正好包含150字节。所以为了让它工作,在某个时候我必须读取引导文件并将其拆分为150字节的块(或者直接读取150字节的块) 我知道通过使用.read(size)我可以选择从文件中读取多少字节,但我的问题是,即使我知道如何读取文件直到文件结束(通过使用典型的作为文件

因此,我正在做一项学校作业,我必须编写一个服务器(使用C)和一个客户端(使用python)

客户机必须能够接受诸如“PUTCFG”之类的命令,这使其能够将启动文件发送到服务器。为了发送文件,我被告知使用给定的pdu,其中包的“数据”部分正好包含150字节。所以为了让它工作,在某个时候我必须读取引导文件并将其拆分为150字节的块(或者直接读取150字节的块)

我知道通过使用
.read(size)
我可以选择从文件中读取多少字节,但我的问题是,即使我知道如何读取文件直到文件结束(通过使用典型的
作为文件中的行:
),我也不知道如何以给定的大小(150字节)读取文件,直到到达文件的结尾。我会这样处理:

stream = []
stream += [file.read(150)]
for stream in file:
    stream += [file.read(150)]
我会这样做,以便将文件保存在一个“150字节的文件”数组中,这样我就可以在pdu上发送每个数组位置

我看到的问题是,我认为文件中的流:的
不起作用,这是我无法做到的,以150字节的块读取文件直到它结束,我如何知道我已经到达了结束?
第一次在这里发帖,我已经尽了最大的努力不让它成为一个愚蠢的问题,任何帮助都将不胜感激


PD:启动文件是一个文本文件。

如果您到达行的末尾,您将得到一个空字符串。行尾之前的最后一个块将包含其余字符,因此,如果剩余120个字符,则即使块大小为150,也将得到120个字符的字符串)

因此,我们可以将代码放入一个无限循环中,当字符串为空时将其中断

stream = []
while True:
    block = file.read(150)
    if not block:
        break
    stream += [block]