使用Python V.3.3
我想知道如何使用记事本文档中写入的十六进制数据创建 .PNG(或任何其他图片文件)。目前它读取图片文件。从那里它将其转换为十六进制格式,然后保存到记事本文档中。然后它读取记事本文件并获取数据。
我遇到的问题是,当它尝试写入新的图片文件时,它确实写入了,但没有存储数据。无论我尝试什么,最终都会得到一张空白的 0 字节图片。我该如何解决?我需要在 getbyte 变量上使用任何特定格式吗?任何帮助将非常感激。我正在尝试让它更容易地为 2D 游戏 map 发送/存储数据。
import binascii
f = open("c:/test1.png", "rb")
ima = f.read()
f.close()
print (binascii.hexlify(ima))
f = open("file123.txt", "w")
f.write(binascii.hexlify(ima).decode('utf-8'))
f.close()
#-----------
f = open("file123.txt", "r+")
getbyte = f.read()
f.close()
getbytes = (binascii.unhexlify(getbyte))
getbyte = (binascii.hexlify(getbytes))
f = open("filetest.png", "wb")
f.write(getbyte)
f.close
#-----------
最佳答案
要将其保存为二进制图像,请编写getbytes
:
getbytes = (binascii.unhexlify(getbyte))
f = open("filetest.png", "wb")
f.write(getbytes)
f.close
我认为您也在查看错误的目录,尝试以不同的名称保存并查看它是否创建该文件。
关于Python 3.3 - 需要帮助使用 .txt 中的数据编写 .png 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17205874/