Ответ 1
Всегда используйте режим b
при чтении и записи соленья (open(f, 'wb')
для записи, open(f, 'rb')
для чтения). Чтобы "исправить" файл, который у вас уже есть, преобразуйте его символы новой строки, используя dos2unix
.
Вот как код
with open(pickle_f, 'r') as fhand:
obj = pickle.load(fhand)
Это отлично работает в системах Linux, но не в Windows. Его показ EOFError.
Я должен использовать режим rb
, чтобы он работал на Windows.. теперь это не работает в Linux.
Почему это происходит и как его исправить?
Всегда используйте режим b
при чтении и записи соленья (open(f, 'wb')
для записи, open(f, 'rb')
для чтения). Чтобы "исправить" файл, который у вас уже есть, преобразуйте его символы новой строки, используя dos2unix
.