我正在尝试将文件转换为十六进制,然后将其保存到 Python 中的文本文件中。
我的代码如下:
import binascii
isgdtxt = open(r"ISGD.txt", "w")
filename = input("Paste the file name here:")
with open(filename, "rb") as f:
isgdfile = f.read()
prin = binascii.hexlify(isgdfile)
isgdtxt.write(str(prin))
isgdtxt.close()
它转换得很好,只是开头有
b'
,结尾有'
,我想去掉它们。有谁知道怎么办吗
开头的
b'
和结尾的 '
之所以存在,是因为 binascii.hexlify
返回一个 bytes 对象;当您使用 str()
将其转换为字符串时,它包含那些标记以指示它是字节对象。
要删除
b'
和 '
,您需要首先使用 .decode('utf-8')
方法将 bytes 对象解码为字符串。
这是更改后的代码。我测试了它,它对我来说非常有用。
import binascii
isgdtxt = open(r"ISGD.txt", "w")
filename = input("Paste the file name here:")
with open(filename, "rb") as f:
isgdfile = f.read()
prin = binascii.hexlify(isgdfile)
hex_string = prin.decode('utf-8')
isgdtxt.write(hex_string)
isgdtxt.close()