使用 python3 模块时,代码的文件目录/文件夹重要吗?我有一个问题

使用 python3 模块时,代码的文件目录/文件夹重要吗?我有一个问题

我最近在做 python GUI 编程时问我通过以下方式安装了 tkinter

apt-get install python3-tk

一切顺利,当我在以下目录中打开 python3 控制台时

~/python-gui/

但我移动到“python-gui”文件夹中另一个名为“tkinter”的文件夹并尝试编译以下代码

 import tkinter as tk

class Application(tk.Frame):
    def __init__(self, master=None):
        tk.Frame.__init__(self, master)
        self.pack()
        self.createWidgets()

    def createWidgets(self):
        self.hi_there = tk.Button(self)
        self.hi_there["text"] = "Hello World\n(click me)"
        self.hi_there["command"] = self.say_hi
        self.hi_there.pack(side="top")

        self.QUIT = tk.Button(self, text="QUIT", fg="red",
                                            command=root.destroy)
        self.QUIT.pack(side="bottom")

    def say_hi(self):
        print("hi there, everyone!")

root = tk.Tk()
app = Application(master=root)
app.mainloop()

我做到了

python3 tkinter.py 

令人惊讶的是我得到了这个错误

Traceback (most recent call last):
  File "tkinter.py", line 1, in <module>
    import tkinter as tk
  File "/root/python_gui/tkinter/tkinter.py", line 3, in <module>
    class Application(tk.Frame):
AttributeError: 'module' object has no attribute 'Frame'

所以我从该路径进入 python3 控制台并尝试在控制台内导入 tkinter 但再次遇到相同的错误,但是当我尝试直接在“python-gui”文件夹下编译相同的代码时,它会正确导入并编译,并且当我在我尝试过的“~/python-gui/tkinter/”文件夹

/usr/bin/python3.4

tkinter 没有再次导入,但我出来并再次尝试它,为什么 python 模块不在“/tkinter/”文件夹中工作?我该如何解决这个问题?

谢谢。

操作系统信息:Linux root 4.0.0-kali1-amd64 #1 SMP Debian 4.0.4-1+kali2 (2015-06-03) x86_64 GNU/Linux

蟒蛇:蟒蛇3.4.2

答案1

好吧,我的错,我在调用模块 tkinter 时将程序文件命名为 tkinter.py,模块通常应该无论文件夹如何都可以工作,只需重命名文件名即可完成工作。您可以将文件名命名为类似于模块名称,因为已经有一个文件了。

相关内容