Python 将一个十六进制文件解码为纯文本英语

Python 将一个十六进制文件解码为纯文本英语,python,file,hex,plaintext,Python,File,Hex,Plaintext,我想读一个有十六进制的文件。例如,该文件包含此“\x70\x79\x74\x68\x6f\x6e\x70\x79\x74\x68\x6f\x6e\x70\x79\x74\x68\x6f\x6e” 我试着读取文件并打印出来,但当我打印它时,我看到的是相同的十六进制代码,而不是纯文本英语。但是,当我手动将十六进制代码复制到Python的print()函数中时,它显示的是纯文本英语。 但是,下面函数中的print()函数只显示十六进制代码,而不显示英文 with open('sample_hex_fi

我想读一个有十六进制的文件。例如,该文件包含此
“\x70\x79\x74\x68\x6f\x6e\x70\x79\x74\x68\x6f\x6e\x70\x79\x74\x68\x6f\x6e”

我试着读取文件并打印出来,但当我打印它时,我看到的是相同的十六进制代码,而不是纯文本英语。但是,当我手动将十六进制代码复制到Python的
print()
函数中时,它显示的是纯文本英语。 但是,下面函数中的
print()
函数只显示十六进制代码,而不显示英文

with open('sample_hex_file_2.txt', 'r') as f:
    data = f.read()
    print(data)

我想读取包含十六进制代码的文件,并将其转换为英文并在屏幕上打印。

请告诉我您可以删除输入文件上的引号吗?一旦我们通过了这个障碍,你就可以利用这个

def main():
    with open('sample_hex_file_2.txt', 'r') as f:
        data = f.read()
        text=""
        for item in data.split('\\x'):
            text += (bytearray.fromhex(item).decode())
        print(text)
if __name__== "__main__":
    main()
导致
pythonpythonpython

如果我用perl执行此操作,我会得到“pythonpythonpython”:
print“\x70\x79\x74\x68\x6f\x6e\x70\x79\x74\x6e\x70\x79\x74\x68\x6f\x6e”
。在任何其他语言中都不应该那么难。当然你也可以自己做。那么问题是什么?可能是重复的