- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
所以,我有一个对象,里面有很多不可 pickle 的东西(pygame 事件、orderedDicts、时钟等),我需要将它保存到磁盘。
事情是,如果我可以让这个东西存储一个有进度的字符串(我只需要一个整数),那么我可以将它传递给对象的 init,它会重建所有这些东西。不幸的是,我正在使用的框架 (Renpy) Sẽ pickle 对象并尝试加载它,尽管我可以将它保存为单个整数,但我无法更改它。
所以,我要问的是,我如何覆盖方法,以便每当 pickle 尝试保存对象时,它只保存进度值,而每当它尝试加载对象时,它从进度值?
我看过一些关于 __repr__ 方法的讨论,但我不确定在我的情况下如何使用它。
câu trả lời hay nhất
您要找的钩子(Hook)是__reduce__
.它应该返回一个 (callable, args)
元组; có thể gọi được
Và các đối số
将被序列化,反序列化时,对象将通过 callable(*args)
重新创建。如果您的类的构造函数采用 int,则可以将 __reduce__
实现为
class ComplicatedThing:
def __reduce__(self):
return (ComplicatedThing, (self.progress_int,))
您可以将一些可选的额外内容放入元组中,当您的对象图具有循环依赖性时最有用,但您在这里不需要它们。
关于Python - 如何使这个不可 pickle 的对象可 pickle ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30699391/
Một trong những giáo sư của tôi đã đưa cho chúng tôi một số câu hỏi thực hành và một trong những câu hỏi có dạng như sau (mã giả): a.setColor(blue); b.setColor(red);
Tôi dường như sử dụng bài kiểm tra này rất nhiều if( object && object !== "null" && object !== "unknown" ){ doSomething() } Trên một đối tượng, tôi
Đối tượng/đối tượng C# là loại giá trị hay loại tham chiếu? Tôi đã kiểm tra xem họ có thể giữ tham chiếu này không, nhưng tham chiếu này không thể được sử dụng để thay đổi đối tượng. sử dụng Hệ thống; lớp MyClass { public s
Tôi gặp sự cố khi gửi json qua AJAX. var data = [{"name": "Will", "họ": "Smith", "age": "40"},{"name": "Wil
Khi tôi cố gắng truy cập đối tượng {{result}} trong Chế độ xem của mình (mà tôi đang gửi từ máy chủ Express js), nó chỉ hiển thị [object][object] Có ai biết cách lấy giá trị ở định dạng JSON không? Đây là
Tôi có nhiều loại dữ liệu khác nhau (có thể là chuỗi, số nguyên ...). Đây là một ví dụ đơn giản: public static void main(String[] args) { before("one" }
Xin chào, tôi mới làm quen với json và javascript. Tôi đã tìm ra cách sử dụng dữ liệu json làm bảng trên trang web này. Tôi tò mò tại sao khi tôi cố gắng sử dụng dữ liệu json làm bảng, tôi lại nhận được [Object,Object]
Đã đóng cửa. Sự cố này yêu cầu chi tiết gỡ lỗi. Câu trả lời không được chấp nhận vào thời điểm này. Chỉnh sửa câu hỏi để bao gồm hành vi mong muốn, một vấn đề hoặc lỗi cụ thể và
Tôi nghe người khác nói rằng null == object tốt hơn object == null check. Ví dụ: void m1(Object obj) { if(null == obj) // Is thi.
Đối tượng Match cung cấp quyền truy cập vào các thuộc tính chỉ đọc của các kết quả khớp biểu thức chính quy. Lưu ý rằng các đối tượng Match chỉ có thể được tạo thông qua phương thức Thực thi của đối tượng RegExp, phương thức này thực sự trả về một tập hợp các đối tượng Match. tất cả
Đối tượng lớp Một đối tượng được tạo bằng câu lệnh Lớp. Cung cấp quyền truy cập vào các sự kiện khác nhau của lớp. Giải thích Không được phép khai báo rõ ràng một biến là loại Lớp. Trong ngữ cảnh của VBScript, thuật ngữ "đối tượng lớp" dùng để chỉ
Đối tượng Thư mục cung cấp quyền truy cập vào tất cả các thuộc tính của một thư mục. Giải thích rằng đoạn mã sau minh họa cách lấy một đối tượng Thư mục và xem các thuộc tính của nó: Hàm ShowDateCreated(f
Đối tượng File cung cấp quyền truy cập vào tất cả các thuộc tính của tệp. Đoạn mã sau minh họa cách lấy một đối tượng File và xem các thuộc tính của nó: Hàm ShowDateCreated(fil
Đối tượng Drive cung cấp quyền truy cập vào các thuộc tính của ổ đĩa hoặc mạng chia sẻ. Mô tả Đoạn mã sau minh họa cách sử dụng đối tượng Drive để truy cập các thuộc tính của ổ đĩa: Hàm ShowFreeSpac
Các đối tượng FileSystemObject cung cấp quyền truy cập vào hệ thống tệp của máy tính. Đoạn mã sau minh họa cách sử dụng đối tượng FileSystemObject để trả về một đối tượng TextStream có thể đọc được
Tôi mới làm quen với javascript OOP và tôi nghĩ đây là một câu hỏi tương đối cơ bản nhưng tôi không thể tìm thấy bất kỳ trợ giúp nào bằng cách tìm kiếm trên web. Tôi có thiếu thứ gì đó không, hay tôi đang đi sai hướng? Đây là mã mẫu của tôi: funcio
Tôi có thể tạo ra rất nhiều đồ vật khác nhau một cách dễ dàng. Ví dụ như thế này: var myObject = { myFunction: function () { return "" } };
hàm Person(fname, lname) { this.fname = fname, this.lname = lname, this.getName = hàm()
Có ai có thể giải thích cho tôi tại sao đoạn mã sau lại đưa ra (đối tượng, đối tượng) không? (console.log(dope) cung cấp những gì cần thiết, nhưng trong JSON.stringify và JSON.parse
Tôi đang cố gắng hoàn thành bài tập về biểu đồ phân tán từ Free Code Camp. Tuy nhiên, tôi mới chỉ tự học d3 được vài giờ và tôi đang cố gắng tìm ra cách hiển thị dữ liệu cụ thể trong chú giải công cụ sau khi làm theo hướng dẫn từ lynda.com. Mã này
Tôi là một lập trình viên xuất sắc, rất giỏi!