Python 3.3 - 需要帮助使用.txt中的数据编写.png文件

时间:2013-06-20 05:23:02

标签: python hex

使用Python V.3.3

我想知道如何使用记事本文档中编写的十六进制数据创建.PNG(或任何其他图片文件)。目前它读取图片文件。从那里它将其转换为十六进制格式,然后保存到记事本文档。然后它读取记事本文件并抓取数据。

我遇到的问题是,当它尝试写一个新的图片文件时,它确实没有存储数据。无论我尝试什么,我最终得到一个空白的0字节图片。我该如何解决?我需要在getbyte变量上使用哪种特定格式?任何帮助将非常感激。我正在努力使这个工作更容易为2D游戏地图发送/存储数据。

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

#-----------

1 个答案:

答案 0 :(得分:2)

要将其另存为二进制图像,请编写getbytes

getbytes = (binascii.unhexlify(getbyte))
f = open("filetest.png", "wb")
f.write(getbytes)
f.close

我认为你也在查看错误的目录,尝试以不同的名称保存并查看是否创建该文件。