Pickle.load() повышение EOFError в Windows

Вот как код

with open(pickle_f, 'r') as fhand:
    obj = pickle.load(fhand)

Это отлично работает в системах Linux, но не в Windows. Его показ EOFError. Я должен использовать режим rb, чтобы он работал на Windows.. теперь это не работает в Linux.

Почему это происходит и как его исправить?

Ответы

Ответ 1

Всегда используйте режим b при чтении и записи соленья (open(f, 'wb') для записи, open(f, 'rb') для чтения). Чтобы "исправить" файл, который у вас уже есть, преобразуйте его символы новой строки, используя dos2unix.