I am using pickle module in Python and trying different file IO modes:
# 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)
I never read about "r+b" mode anywhere, but found mentioning about it in the documentation.
I am getting EOFError
on Linux if I use "rb"
mode and on Windows if "r"
is used. I just gave "r+b"
mode a shot and it's working on both.
What's "r+b"
mode? What's the difference between "rb" and "r+b"? Why does it work when the others don't?