Python:Singleton类对象在导入之间持续列表? (像django管理员注册表) [英] Python : Singleton class object to persist list between imports ? (Like django admin register)
问题描述
我想要有 dict / list
,我可以添加值,就像模型可以添加到django中的管理员注册表
我的尝试:(包 - > __init __。py
)
#Singleton对象
#__init__.py(包:包)
类记住:
a = []
def add(data) :
a.append [data]
def get():
return a
obj = remember()
#models1.py
import pack
pack.obj.add(data)
#models2.py
import包
pack.obj.add(data2)
打印包.obj.get()
#我们应该得到:[data,data2]
#我们得到:[data2]
如何实现所需的功能?
有些人说如果你不需要子类,怎么用方法呢? p>
更新:
更清楚:
就像
django admin register
任何一个都可以导入和注册自己的管理员,所以注册表在导入之间保留。
如果这是一个单身人士,你可以看看这个旧的博客文章。它包含一个文件良好的实施链接( here )。
I want to have dict / list
to which I can add values, just like models can be added to the admin register in django !
My attempt : (package -> __init__.py
)
# Singleton object
# __init__.py (Package: pack)
class remember:
a = []
def add(data):
a.append[data]
def get():
return a
obj = remember()
# models1.py
import pack
pack.obj.add("data")
# models2.py
import pack
pack.obj.add("data2")
print pack.obj.get()
# We should get: ["data", "data2"] # We get : ["data2"]
How to achieve the desired functionality ?
Some say that methods can do this if you don't need sub-classing, how to do this with methods ?
Update: To be more clear :
Just like
django admin register
any one can import and register itself with admin, so that register is persisted between imports.
If it's a singleton you're after, have a look at this old blog post. It contains a link to a well documented implementation (here).
这篇关于Python:Singleton类对象在导入之间持续列表? (像django管理员注册表)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!