如何在另一个Flask中导入python文件?

时间:2017-11-30 23:36:34

标签: python python-2.7 flask

我有init.py个文件。我在同一条路径中有一个子目录/controller

我尝试在/controller/file.py内导入文件init.py,如下所示:

import controller/file
import controller/file.py

它不起作用。如何在Flask框架中轻松实现,或在Python中默认使用?

2 个答案:

答案 0 :(得分:1)

首先,您必须放在那里的文件称为<link href="https://openlayers.org/en/v4.5.0/css/ol.css" rel="stylesheet"/> <script src="https://openlayers.org/en/v4.5.0/build/ol-debug.js"></script> <div id="map" style="height:300px"></div>。其次,你通常应该把它们留空,除非你想要一些非常特殊的行为。

最后,请查看此文件夹结构

__init__.py

并在- __init__.py - main.py + foo - __init__.py - foo_app.py + bar - __init__.py - bar_app.py

foo_app.py

编辑:要使其正常工作,必须从父目录启动应用程序。

答案 1 :(得分:0)

如上面评论中提到的@Davidism,您将导入文件&#34;与您在其他地方导入的方式相同。导入路径由点而不是斜线分隔。&#34;

我们假设你有一个像这样的文件结构

/Project
 --program.py
   /SubDirectory
    --TestModule.py

在此示例中,我们假设TestModule.py的内容为:

def printfunction(x):
    print(x)

现在让我们首先开始,在program.py中你需要import sys然后使用这行代码将你的子目录添加到python的环境路径

import sys
sys.path.insert(0, os.getcwd()+"/SubDirectory")

现在您可以正常导入模块。继续上述文件结构,您现在可以像这样导入模块

import TestModule 

您现在可以像{正常

一样从printfunction()文件中调用函数TestModule.py
TestModule.printfunction("This is a test! That was successful!");

这应输出:

This is a test! That was successful!

总而言之,您的program.py文件应如下所示:

import sys
sys.path.insert(0, os.getcwd()+"/SubDirectory")    
import TestModule
TestModule.printfunction("This is a test! That was successful!");