これがコードです
with open(pickle_f, 'r') as fhand:
obj = pickle.load(fhand)
これはLinuxシステムでは正常に機能しますが、Windowsでは機能しません。その表示EOFError。 Windowsで動作させるには、rb
モードを使用する必要があります。これはLinuxでは動作しません。
なぜこれが起こっているのですか、そしてそれを修正する方法は?
ピクルスの読み取りと書き込みを行うときは、常にb
モードを使用してください(書き込みの場合はopen(f, 'wb')
、読み取りの場合はopen(f, 'rb')
)。すでに持っているファイルを「修正」するには、dos2unix
を使用して改行を変換します。