我正在编写GAE应用程序,但遇到以下问题时遇到了一些困难。
我创建了多个python文件(比如a.py和b.py),它们都存储在同一个文件夹中。我可以通过将URL映射到它们来调用a.py或b.py中的代码(使用app.yaml)。我还没弄清楚如何将代码从一个导入到另一个。
有人可以帮我解决这里需要的语法和/或任何配置吗?例如,我的印象是我可以通过在a.py中发出以下语句来将b.py中的代码包含在文件a.py中
import b
我对这种方法没有任何成功。具体来说,我收到此错误:
ImportError: No module named b
有什么建议吗?
谢谢,
马特
答案 0 :(得分:8)
您是否尝试过导入,就像从顶层开始一样?喜欢
import modules.b
答案 1 :(得分:2)
如果找不到文件a.py和b.py,请确保在sys.path
中包含相应的路径。
import sys
sys.path.append(r"/parent/of/module/b")
答案 2 :(得分:1)
请注意,GAE的常用模式不是每个都在app.yaml中独立映射,而是要有一个“处理程序”脚本,其中包含映射到它的所有(或所有静态和特殊)URL,以及让该脚本导入a和b并使用他们定义的处理程序。
答案 3 :(得分:1)
正如@toby所说,它必须像从顶层目录导入一样导入,并且名为 init .py的文件必须放在文件夹中。