2010-08-26 33 views
5

Chương trình của tôi hoạt động tốt trên các cửa sổ, với cpickle và tôi đang sử dụng chế độ nhị phân, như 'wb' hoặc 'rb'. Khi tôi chạy chương trình của tôi trên Linux, nó vẫn hoạt động tốt.cPickle.UnpicklingError: khóa tải không hợp lệ

Nhưng khi tôi cố gắng giải nén các tệp được lấy từ nền tảng Linux trên nền tảng cửa sổ của tôi, tôi nhận được thông báo có dây này nói: cPickle.UnpicklingError: khóa tải không hợp lệ ' '.

Mọi người có thể vui lòng cho tôi biết lý do không?

Dường như tôi không thể giải phóng bất kỳ tệp nào từ nền tảng Linux.

BTW, hai chương trình mà tôi chạy giống hệt nhau.

Cảm ơn một triệu.

Trả lời

4

Nhìn vào mã (http://svn.python.org/view/python/trunk/Modules/cPickle.c?revision=81029&view=markup), có vẻ như đó là lỗi phân tích cú pháp (khóa tải là khóa định dạng đĩa chọn). Có vẻ như tập tin đã bị thay đổi.

Các tệp được chuyển từ Linux sang Windows như thế nào? Nếu đó là FTP, bạn có chuyển sang chế độ nhị phân không?

(Bạn đang sử dụng HIGHEST_PROTOCOL phải không?)

+0

Cảm ơn rất nhiều! Đó là chế độ truyền tải. Chế độ nhị phân thực sự giải quyết vấn đề !! – beryl83

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