在Python中将字节列表写入文件

时间:2018-03-04 22:40:15

标签: python list file byte

我有一个字节列表作为encrypted_message,我从一个文件中读取,如下所示:

[b'\x17Q\xf7\xf8\x1b\xac\xc1\x05\x9cC\xc8)s\xb2x+p\xc5)@\xcc\x998\xd1P\x95
\xd8\xb9\xfaP\xe9\xeb!\x0c\xd9\xea\x04\xa7D\xddN\xc2\xfe\n', b'\x16p\xa6\x9d8
\xf3\xc4\x91^T\xbb\xac\x02t05\xbf\xcc6\x8a\xe5f\x11\xd2\xeaC,An\x7fw\x8f;
\xa5\xdf\x8f\xee\x87J\xb5W\xb0\xcf\x8e\x08\xfdGw\xa2?vYI\x0b\x99\xd7\xb7
\xce\xdfI\xb0\xb6\x00\x8b\xf8%\x11\xbc\xe2\xcb\xddA\x1b\xe6l\xd1\xe2\\\xf3
\rw\xa8s\xd8\x9b\xc5\\\xd7Yk\xc3\xb4\xe0\xde\xbdx\xe4\r\xf0G\x12/\x1a
\x17y\xc2\xaf\xb0\xe4\xa9\x02\xa7\xa9\xa6\x0fU\x89\xc1\xe1\x03ua\xd2F\xa7s
\x19K\xcf\x0c#\xb2\xe1<\x9d*\x1f8TF\xedX\xd4\x11g\x85\xb98\x15\xe3\x97
\xb8\x90_\x9ayM\x1e\xe6JW\x10\x97\xc1\x10\xc6\xb9\x1d\x9c \x16!\xb6M\x97Q\xe9
\xfe\n', b'\x9f\xbd\x0fA\xd2\x92\x10\x87u/H\xcb\xa9\x9e\x95\x80^\xf0Ll
\x8b\x81\xc3\x04\xb6F\xe4 \x9a\xd5\\&>>\xa1\x87{\xd3\xc3\xc7\x15D~\xd8\xd5
\x84\x1b@\xa5\x14\xfb5\x8a\xb0\xa5\xf1\x1aL{\xc9jW\x08Z2l\xb7\x0c\xb0\xce2
\x97\xb9\xdd\xc0%\xbf\x89q{\xd7\xa6l']

现在,我想将此内容写入另一个文件。我正在尝试以下代码:

with open('encrypted_data.txt', 'wb') as temp_file:
    for item in enumerate(encrypted_message):
        temp_file.write(item)

但我不断收到以下错误:

  

TypeError:write()参数必须是str,而不是tuple

有人可以帮忙吗?! 提前谢谢。

2 个答案:

答案 0 :(得分:0)

enumerate之后移除in然后它可以正常工作

答案 1 :(得分:0)

enumerate会返回(index, item)的元组,其中index从0开始计数。您不会使用索引,因此您不需要使用{{1}毕竟。

enumerate

这是文件对象本身有帮助的常见用例:

with open('encrypted_data.txt', 'wb') as temp_file:
    for item in encrypted_message:
        temp_file.write(item)