在下面的代码中,我总是得到一个奇怪的输出,它将b放在每一行之前。只有字母b
例如,示例输出如下:
[b'2017-06-01,15:19:57,']
脚本本身是这样的:
^{pr2}$归档文件中有一个名为“logs”的文件夹,在logs中有几个文本文件,每个文本文件的第一行空白(因此next(myfile)
无论文件放在哪个位置,都要先读取。如果一个文件中有多行,它会输出如下内容:
[b'2017-06-01,15:06:28,start session: \n', b'2017-06-01,15:06:36,stop session']
为什么要把讨厌的b放在那里?在
因为zip是二进制格式,在从中读取时,它给出}。在
bytes
,而不是{您可以使用
str.decode()
进行转换例如
会给你想要的str
在Python3中,(来自文档)字节字面值总是以“b”或“b”作为前缀;它们生成字节类型的实例,而不是str类型。它们只能包含ASCII字符;数值大于等于128的字节必须用转义符表示。在
这只是澄清打印输出中的格式。如果要输出不带此格式的字符串,可以使用如下格式字符串:
在Python3.x中,字符串和字节数据是有区别的。当将字节表示为字符串时,Python添加
b
前缀来表示。如果要将bytes
视为字符串,首先需要将它们解码为字符串:当然,您将使用的编解码器取决于字符串最初是如何编码成字节的。在
相关问题 更多 >
编程相关推荐