我正在编写一个文件共享程序,当我发送一个文件时,我只想发送1024字节,然后发送下一个1024字节,依此类推。我使用的是scapy而不是socket,因此我需要手动完成此操作。如何将文件分成1024字节的块?
发布于 2016-07-01 12:13:49
你可以只写一个简单的循环:
while True:
block = f.read(1024)
if not block:
break
... do stuff with block ...每次调用read都会读取数据并推进文件位置,因此每次都会得到一个新的块。或者,您可以更聪明一点,使用两个参数的iter来制作执行相同逻辑的Python生成器,但使用for循环看起来更简洁:
from functools import partial
for block in iter(partial(f.read, 1024), b''): # Change b'' to '' for text mode file
... do stuff with block ...https://stackoverflow.com/questions/38136475
复制相似问题