我有一个类,我想以只读的方式与池中的子进程共享,所以我准备了一个类的代理,但它没有用.以下是我的问题的简化示例.
from multiprocessing.managers import BaseManager
class TestClass:
def __init__(self, a):
self.a = a
def b(self):
print self.a
class MyManager(BaseManager): pass
MyManager.register('test', TestClass)
if __name__ == '__main__':
manager = MyManager()
manager.start()
t = TestClass(1)
print t.a
mt = manager.test(2)
mt.b()
mt.a
Run Code Online (Sandbox Code Playgroud)
当我运行此代码时,我得到:
1
2
Traceback (most recent call last):
File "multiprocess_example_stackexchange.py", line 20, in <module>
mt.a
AttributeError: 'AutoProxy[test]' object has no attribute 'a'
Run Code Online (Sandbox Code Playgroud)
似乎我无法通过代理直接访问共享对象的属性.是使用获取属性的方法的唯一方法,还是我做错了什么?
我想在烧瓶生成的网页上放一个按钮,让用户在用户点击按钮时将html页面下载为文件.我想象的是将渲染的html保存到BytesIO并通过它发送send_file,但我找不到如何将渲染的页面保存到文件对象中.我怎样才能做到这一点?