2010-02-02 31 views
11

tôi sử dụng cPickle để dưa một danh sách các số nguyên, sử dụng HIGHEST_PROTOCOL,python kết quả 2,6 cPickle.load trong EOFError

cPickle.dump(l, f, HIGHEST_PROTOCOL) 

Khi tôi cố gắng unpickle này bằng cách sử dụng đoạn mã sau, tôi nhận được một EOFError. Tôi đã thử 'tìm kiếm' để bù trừ 0 trước khi giải nén, nhưng lỗi vẫn tồn tại.

l = cPickle.load(f) 

Mọi ý tưởng?

+0

Tôi chỉ nhận thấy rằng tôi không viết cho/đọc từ tập tin trong chế độ nhị phân. Hy vọng rằng sẽ khắc phục vấn đề này. – fsm

+0

Rõ ràng là tôi đã chiếu suy nghĩ đó cho bạn khi tôi đang gõ câu trả lời của tôi: p –

+0

Có, điều đó hoàn toàn có thể :-) – fsm

Trả lời

19

Nếu bạn đang ở trên cửa sổ, hãy chắc chắn bạn

open(filename, 'wb') # for writing 
open(filename, 'rb') # for reading 
+0

cảm ơn! chỉ xảy ra với tôi :-) – fsm

+0

Cảm ơn, 7 năm sau, điều này vẫn hữu ích !. đã giúp tôi rất nhiều;) – Breeze

+0

Đồng ý. Chỉ cần cứu tôi. – jbee

Các vấn đề liên quan