我有init.py
个文件。我在同一条路径中有一个子目录/controller
。
我尝试在/controller/file.py
内导入文件init.py
,如下所示:
import controller/file
import controller/file.py
它不起作用。如何在Flask框架中轻松实现,或在Python中默认使用?
答案 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!");