为什么我只导入文件中的函数,导入的文件就自动执行了?

问题描述 投票:0回答:1

我有一个名为“intro_to_tkinter.py”的文件,在该文件中我从另一个名为“demos_tkinter.py”的文件导入了一个函数“print some()”。每当我执行“intro_to_tkinter.py”文件“demos_tkinter.py”就会被执行。

这是“demos_tkinter.py”文件

from tkinter import * 
def print_something():
    print("hello")
roots=Tk()
roots.mainloop()

这是“intro_to_tkinter.py”文件

from tkinter import * 
from demos_tkinter import print_something 
root=Tk() 
root.configure(bg="#000000") 
print_something() 
root.mainloop()

我应该怎么做才能只执行所需的函数而不执行文件

python tkinter import runtime-error execution
1个回答
1
投票

“demos_tkinter.py”正在启动自己的 tkinter 应用程序 - 为什么您不希望它运行?

您可以通过向“demos_tkinter.py”添加

if __name__ == '__main__'
保护子句来解决此问题,如下所示:

from tkinter import *


def print_something():
    print("hello")


roots=Tk()

if __name__ == '__main__':
    roots.mainloop()

这样,

roots.mainloop()
仅在直接运行此脚本时才会被调用,而不是在作为模块导入时被调用。

© www.soinside.com 2019 - 2024. All rights reserved.