假设我有一个名为mymodule
的python模块,它具有以下结构:
""" mymodule.py """
mydata = {
"x": 12,
"y": 58
}
我想以下列方式访问数据:
""" main.py """
import mymodule
print(mymodule.x) # 12
print(mymodule.y) # 58
我应该将哪些内容添加到mymodule.py
?
我想知道Python 2.7
和Python 3
的解决方案。
答案 0 :(得分:1)
根据https://stackoverflow.com/a/7668273/783836,似乎可以通过将模块替换为您想要的类来完成:
# module foo.py
import sys
class Foo:
def funct1(self, <args>): <code>
def funct2(self, <args>): <code>
sys.modules[__name__] = Foo()
查看整个帖子的详细信息
答案 1 :(得分:0)
如果唯一的数据是x
和y
,并且您不希望它是动态的,那么您可以执行以下操作:
""" mymodule.py """
mydata = {
"x": 12,
"y": 58
}
x = mydata['x']
y = mydata['y']
另一种选择是使用addict.Dict
,但这需要在导入时进行一些更改。
""" mymodule.py """
from addict import Dict
mydata = Dict({
"x": 12,
"y": 58
})
然后使用它:
""" main.py""
from mymodule import mydata
print(mydata.x)
print(mydata.y)
知道你为什么需要它会更容易......