Tôi đang sử dụng thư viện cung cấp giao diện python cho một chương trình bên ngoài. Điều này cho phép tôi tạo:Python: cách chia sẻ một cá thể đối tượng trên nhiều lời gọi của một tập lệnh
foo = Foo()
Mã trên bắt đầu một phiên bản mới của chương trình Foo mà tôi có thể kiểm soát từ trong python.
Tôi có một tập lệnh python cần được gọi nhiều lần và tùy thuộc vào tham số bên ngoài, cho biết một trường hợp đơn lẻ của chương trình Foo bên ngoài để thực hiện những việc khác nhau. Rõ ràng tôi không thể làm
foo = Foo()
mọi,
kể từ đó tạo ra một thể hiện mới của Foo mỗi khi kịch bản của tôi chạy.
Điều tôi muốn làm là tạo foo= Foo()
một lần và có nhiều yêu cầu chia sẻ cùng một phiên bản. Hiện tại tôi đang suy nghĩ về việc tạo ra nó một lần, tuần tự hóa nó, và có kịch bản của tôi deserialize nó. Cách tiếp cận này có hiệu quả không? Có một lựa chọn tốt hơn?
Cảm ơn !!
Tôi đã thử thực hiện điều đó, tôi nhận được một thông báo nói rằng "Không thể chọn 'khóa' đối tượng:". Tôi đang xem xét nó ngay bây giờ. –
wk1989
Vâng, nó có những hạn chế mà bạn có thể/không thể làm việc xung quanh để làm những gì bạn muốn: http://docs.python.org/library/pickle.html#what-can-be-pickled-and-unpickled – zeekay
nếu bạn đang sử dụng khóa, bạn có thể cần phải thực hiện một đường dẫn khác như ổ cắm hoặc đường ống để cung cấp quyền truy cập bị khóa cho lớp học của bạn – lunixbochs