在一个主文件中导入所有需要的模块,该文件包含导入模块的所有必需库

时间:2016-07-17 11:39:53

标签: python class module libraries

我举例来说我有2个文件,mother.py和child.py, child.py是在mother.py

中导入的模块

mother.py中的代码是:

from tkinter import *
from tkinter import ttk
from modules.child import LoginWindow

root = Tk()
window = LoginWindow(root)
root.mainloop()

child.py中的代码是:

class LoginWindow:
    def __init__(self, master):
        self.master = master
        self.content = ttk.Frame(self.master, padding=(20,30,20,30))

当我这样做时,它会给我一个错误,指出tkk(在child.py的最后一行)没有定义但是在mother.py(第2行)中定义了为什么这不起作用什么是做这样的工作的最佳方式

1 个答案:

答案 0 :(得分:1)

Python中的导入并不像" include"用其他语言。整个模块包含在以您导入的模块命名的对象中。所以,当你这样做时:

from modules.child import LoginWindow

整个模块包含在对象/变量LoginWindow中。 "孩子"在这种情况下,模块无法看到导入它的模块中定义了哪些变量。

在您问题的示例中,您想要移动:

from tkinter import ttk

child.py