将文件除以字节数



我正在编写一个文件共享程序,当我发送一个文件时,我只想发送1024字节,然后再发送下一个1024字节,以此类推。我使用scapy而不是套接字,所以我需要手动执行此操作。如何将文件划分为每个1024字节的块?

你可以写一个简单的循环:

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 ...

相关内容

  • 没有找到相关文章

最新更新