Python 2.7 Python—建议始终使用';b';模式
我有一个简单的python函数:Python 2.7 Python—建议始终使用';b';模式,python-2.7,file-io,binaryfiles,Python 2.7,File Io,Binaryfiles,我有一个简单的python函数: def ReadFile(FilePath): with open(FilePath, 'r') as f: FileContent = f.readlines() return FileContent 此函数是通用函数,用于打开所有类型的文件。但是,当打开的文件是二进制文件时,此函数不会按预期执行。将呼叫更改为: 解决二进制文件的问题(在文本文件中似乎也保持有效) 问题: 是否安全且建议始终使用rb模式读取文件 如果没有,有哪
def ReadFile(FilePath):
with open(FilePath, 'r') as f:
FileContent = f.readlines()
return FileContent
此函数是通用函数,用于打开所有类型的文件。但是,当打开的文件是二进制文件时,此函数不会按预期执行。将呼叫更改为:
解决二进制文件的问题(在文本文件中似乎也保持有效)
问题:
rb
模式读取文件更新 其中
f1.txt
为:
line1
line3
line1
line3
文件Read_b_Write_wb
,Read_r_Write_wb
,Read_r_Write_w
eqauls到源f1.txt
文件Read\u b\u Write\u w
是:
line1
line3
line1
line3
在Python 2.7教程中: 在Windows上,附加到模式的“b”以二进制模式打开文件,因此 还有诸如“rb”、“wb”和“r+b”等模式。Windows上的Python 区分文本文件和二进制文件;行尾 当输入数据时,文本文件中的字符会自动轻微更改 是读的还是写的。这是对文件数据的幕后修改 适用于ASCII文本文件,但它会像那样损坏二进制数据 在JPEG或EXE文件中。在读取时要非常小心使用二进制模式 以及编写这样的文件。在Unix上,将“b”附加到 模式,因此您可以在所有二进制文件中独立使用it平台 档案 我的收获是使用“rb”似乎是最好的做法,而且你似乎遇到了他们警告的问题——在Windows上用“r”打开二进制文件