我正在为GAE开发一个Python应用程序。
该应用程序由一组类和函数组成,这些类和函数目前都在同一个文件main.py中。
应用程序正常运行。
现在,我想重构应用程序并将所有类外包出去。每个班级都应该在她自己的档案中。文件应安排在如下目录中:
main.py
/directory1/class1.py
/directory1/class2.py
/directory2/class1.py
我的问题是在这些外包类中,我不能使用main.py的功能。
我在类文件中尝试了这个。
from main import name_of_function
但是编译器说
from main import name_of_function
ImportError: cannot import name name_of_function
我错了什么?
funktion的名称是登录。也许这会导致问题?
答案 0 :(得分:2)
尝试将main.py中的额外函数移动到单独的文件中。
main.py
library.py # contains login() and other functions from main
/directory1/class1.py
/directory1/class2.py
/directory2/class1.py
答案 1 :(得分:0)
有时候将同一个模块中的类放在一起,如果它们属于一起,就没有目的,这是很好的。
使用main函数的问题表明你应该重构一个模块,将common_utils.py从这些函数中分离出来并将它与main分开。您可以将其导入到使用它们的模块中。不要认为课程只考虑整个用例。
如果您可以给出程序逻辑的伪代码,我们可以更好地检查重构。