我使用咸菜模块在Python和尝试不同的文件IO模式:是什么文件RB和R + B模式之间的差异对象
# 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”有什么区别?当其他人不这样做时,它为什么会起作用?
的可能的复制[蟒打开内置函数:模式之间差A,A +,W,W +,和r +](http://stackoverflow.com/questions/1466000/python-open-in-function-difference-between-modes-aaww-and-r) – kay