Python bytearray inside string问题

Python bytearray inside string problems

我有一个将字节数组转换成字节的函数:

def dehex(d):
        return bytes(bytearray(d))

test = dehex([0xe7,0xcd,0xb0,0xa2])

这很好用

不过

我在一个使用 pickle 的 txt 文件中保存了一些类似上面的字节数组,看起来像这样:

0xe7,0xcd,0xb0,0xa2 

并且我希望能够从 txt 文件加载它们,如果我读取文件 returns 一个不适用于我的 dehex 函数的字符串,就会出现问题。 就像它被这样解释:

dehex(["0xe7,0xcd,0xb0,0xa2"])

我将如何完成这项工作?

也许这会有所帮助:

my_str = "0xe7,0xcd,0xb0,0xa2" # String read from file.

my_bytes_list = [bytes.fromhex(c[2:]) for c in my_str.split(",")]

result = [dehex(bytes.fromhex(c[2:])) for c in my_str.split(",")]

print (result)

输出:

[b'\xe7', b'\xcd', b'\xb0', b'\xa2']