我实际上正在使用UDP发送文件的项目,并且由于此协议不可靠,我在每个数据包上添加了一些信息,这些信息是数据的索引。所以我可以按正确的顺序写入收到的数据。 我有问题写在特定位置字节文件seek函数无法更新文件在特定位置 - python
这是处理新数据写入我的代码的一部分:在这种情况下
while i < packet_num:
buf,address = recieve_packet(s,data_size+10)
i += 1
if buf:
print(buf)
index = int(buf[0:10].decode())
data = buf[10:]
f.seek(seek_pointer + index*data_size,0)
f.write(data)
list_index.append(index)
的搜索功能没有任何影响,该数据只是附加到文件中。我正在使用“a + b”模式打开文件。
是的确实它工作时,我打开文件使用“WB”,但我需要“AB”,因为我部分发送文件(在ODER处理大文件)有没有解决这个问题? –
您可以先用'r'模式打开现有文件,并获取内容。之后,您可以使用'w'模式重新创建文件,并写入现有评论,并搜索并添加新内容。 – Dashadower
@RS Halim但是要小心,如果您使用大型文件,则可能会遇到内存错误。 – Dashadower