2011-10-01 41 views
5

Tôi hiện đang thực hiện một chuỗi câu đố Python trực tuyến và tôi đã gặp phải sự cố khi bạn cần tải xuống tệp đã bị xóa. Tôi đọc tài liệu về nó, nhưng tôi vẫn tiếp tục nhận đượcLoạiError: 'str' không hỗ trợ giao diện bộ đệm - python

TypeError: 'str' does not support the buffer interface

... vì vậy tôi tìm kiếm trên Google và đến một câu hỏi về SO với một vấn đề tương tự. Câu trả lời chỉ tới http://wiki.python.org/moin/UsingPickle.

Tôi đã thử mã trong ví dụ này và tôi gặp phải vấn đề tương tự? Tôi đang sử dụng Python 3.2.2. WTF ??

Hoàn Traceback:

Traceback (most recent call last): 
    File "C:\foo.py", line 11, in <module> 
    test1() 
    File "C:\foo.py", line 9, in test1 
    favorite_color = pickle.load(open("save.p")) 
TypeError: 'str' does not support the buffer interface 

Từ ví dụ ở đây: http://wiki.python.org/moin/UsingPickle

tôi đã tạo thành công các tập tin save.p với ví dụ mã đầu tiên trong hướng dẫn.

+1

Có lẽ python 2 so với python 3 khác biệt. Bạn có thể đăng một traceback hoàn chỉnh không? –

+1

Tôi vừa nhấp vào liên kết Google đầu tiên. Tôi đã không nhận thức được rằng không chỉ là tôi đọc Python 2 thứ, nhưng mà Python 2 và 3 có sự khác biệt chính ... Dù sao, nơi nào tôi tìm thấy công cụ Python 3? – mowwwalker

+0

Ngoài ra, đó không phải là câu hỏi trước của tôi. – mowwwalker

Trả lời

13

Mở tệp dưa ở chế độ nhị phân: favorite_color = pickle.load(open("save.p", "rb")).

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