我需要在二进制文件的开头加上一个二进制文件的一部分(在二进制文件之前)。 我试试这个:
s=b'/00/'
open(file,'rb') as o
r=o.read()
o.close()
h=r.hex()
w=s+h
b=bytearray.fromhex(w)
open(file,'wb')as o
o.write(b)
o.close()
我有内存限制,因此无法使用该算法。我还必须能够从文件中删除此部分,
open(file,"br+") as o
r=o.read()
o.close()
h=r.hex()
s=h.replace('/00/','')
o=open(file,"wb")
w=bytearray.fromhex(s)
o.write(w)
o.close()
我对此有内存限制。 有人可以帮我读写这些文件而无需将它们完全加载到内存中吗?
答案 0 :(得分:1)
除非要处理与平台相关的低级文件系统操作,否则不可以在不重写整个文件的情况下将字节添加到二进制文件中。
相反,您可以按小块读取和重写文件:
[^\p{Alphabetic}\p{Mark}\p{Decimal_Number}\p{Connector_Punctuation}\p{Join_Control}]
将1024字节的块大小调整为适合您的内存限制的大小。