python – 文件对象中的rb和rb模式之间有什么区别?

我在Python中使用pickle模块,并尝试不同的文件IO模式:

# works on windows.. "rb"
with open(pickle_f, 'rb') as fhand:
        obj = pickle.load(fhand)

# works on linux.. "r"
with open(pickle_f, 'r') as fhand:
        obj = pickle.load(fhand)

# works on both "r+b"
with open(pickle_f, 'r+b') as fhand:
        obj = pickle.load(fhand)

我从来没有读过关于“r b”模式的任何地方,但在documentation发现了它。

如果我使用“rb”模式,则在Linux上得到EOFError,如果使用“r”,则在Windows上。我刚刚给了“r b”模式一枪,两者都在工作。

什么是“r b”模式? “rb”和“r b”有什么区别?为什么其他人不工作?

r用于读取和写入模式。 b是二进制的。
r b模式以读或写模式打开二进制文件。
你可以阅读更多here
http://stackoverflow.com/questions/15746954/what-is-the-difference-between-rb-and-rb-modes-in-file-objects

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:python – 文件对象中的rb和rb模式之间有什么区别?