导入以前初始化的对象(Python)

时间:2017-06-21 15:43:43

标签: python class tkinter

我正在创建我的第一个python包。

__init__.py中,我从模块导入并打开对象App

from app import App
app = App()

app.py

class App(tk.Tk):

    def __init__(self):
        #Create App
        tk.Tk.__init__(self)
        self.geometry("1000x550")
        self.title("Game")
        self.container = tk.Frame(self).grid()

然后,在另一个模块game.py中,我需要访问在app初始化app.container时创建的app__init__.py

我试过了:

from app import App
# Does not retrieve variables

from __init__ import app
# Does not retrieve object

from app import App
app = App()
# Intialized the object twice

1 个答案:

答案 0 :(得分:1)

您不应在App文件中创建__init__.py的实例。包只应提供对象的定义。当然也有例外,但刚开始时你不应该这样做。

您的__init__.py文件应该只包含此内容:

from app import App

假设它位于名为“mypackage”的文件夹中,您需要一个应用程序,您可以这样做:

from mypackage import App
app = App()