繁体   English   中英

我正在尝试了解 Python 中的二进制文件模式

[英]I'm trying to understand binary file mode in Python

我创建了一个名为nameFile.txt的文本。 它有以下文字。

This is a file.
It will be read from program.

当我以正常模式打开文件时,它会显示“nameFile.txt”中的文本。

nameFile = open("nameFile.txt")
fromFile = nameFile.read()
print(fromFile)
nameFile.close()

Output:

This is a file.
It will be read from program.

当我以二进制模式打开文件时,它显示如下内容:

nameFile = open("nameFile.txt", "rb")

Output:

b'This is a file.\r\nIt will be read from program.'

为什么我的 output 包含一些额外的转义序列,如 b、\r、\n?

在文本模式下,重要的是……文本。 有“普通”字符(字母、数字、标点符号等),也有特殊字符。 后者中的许多,例如换行符 ( \n )、回车符 ( \r ) 和制表符 ( \t ) 在影响文本的呈现方面具有特定的作用。

这就是为什么在文本模式下\r\n显示为新行,而不是明确显示

在二进制模式中是不同的:所有字符都应该只是字节,而不是为了更好地呈现文本而需要解释的东西。 这就是为什么在打印以二进制模式打开的文件的内容时会显示所有字符的原因。

注意:开头显示的b ,就在实际文件之前,仅表示“这里是以二进制模式显示的文件”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM