在Python.3中将特定函数从模块导入到另一个模块

时间:2014-03-20 14:29:38

标签: python tkinter python-import

我有一个名为A.py的模块,如

from tkinter import *

def puppa():
    print("something")
a=Tk()
print("someone")

我只会在新模块中导入函数puppa,但如果我执行

from A import puppa

它还会导入tkinter窗口并打印“某人”......我该如何使其工作? 感谢

1 个答案:

答案 0 :(得分:0)

这是因为即使您只从puppa导入A,它仍会初始化整个A.py文件,因此会运行:

a=Tk()
print("someone")

相反,您应该将所有这些外部代码行放入方法或main()文件中的A.py函数中。这是为了确保您只运行您想要运行的内容。

如果由于某种原因你希望A.py在独立运行时运行上述脚本,你可以将所有主脚本放在main函数中,然后将这段代码添加到最后您的A.py脚本:

if __name__ == "__main__":
    main()