提问人:YupYupTRP 提问时间:11/14/2023 更新时间:11/14/2023 访问量:57
Python write() 不写入完整字符串
Python write() not writing the full string
问:
因此,我制作了一个脚本,您可以在变量中放入图像或音频文件等十六进制数据,然后将其复制到自己的文件中(自解压)。但是,它不适用于超过 2MB 的文件。
我已经用最大 2MB 的文件测试了它,它工作正常,但是当十六进制数据大小超过 2MB 时,它不会将完整的输出写入文件,最终得到的文件只是原始大小的一小部分。这是我的代码(示例十六进制数据只是随机的):
import os
import binascii
def save_image(filename, hex_imgdata):
if os.path.exists(filename):
current_file = open(filename, "wb")
else:
current_file = open(filename, "xb")
decoded_imgdata = bytes.fromhex(hex_imgdata)
current_file.write(decoded_imgdata)
current_file.close()
print("Saved " + filename)
example_hex = "A2C688B272"
if not os.path.exists("extracted"):
os.mkdir("extracted")
os.chdir("extracted")
save_image(filename = "example.png", hex_imgdata = example_hex)
如何让它处理更大的文件?
答: 暂无答案
评论
example_hex = "A2" * 3_000_000
print(os.stat("example.png").st_size)
example_hex