在不同的子目录中导入不同的python文件?
问题描述:
说我有这个 “运行” Python文件位于:在不同的子目录中导入不同的python文件?
C:\文件夹\ subfolder_first \ running.py
,我有一个 “帮手” Python文件位于: C:\文件夹\ subfolder_second \ helper.py
我正在使用Pycharm,我想在运行文件中运行帮助程序文件的某些函数/方法。我该怎么做?
from folder.subfolder_second import helper
我尝试了上面这行,但它给我的错误信息: 导入错误:没有模块名为等等等等......
答
对于Python 3只
为了得到这个工作,你会需要一个文件树这样的:
- folder
__init__.py
- subfolder_first
running.py
__init__.py
- subfolder_second
helper.py
__init__.py
然后您可以运行helper
从running.py
这样的:
from ..subfoler_second import helper
不过,我建议将其结构是这样,而不是:
- folder
running.py
- helpers
my_helper.py
__init__.py
然后从running.py
像导入my_helper
:
from helpers import my_helper
第二种方式是多少好多了。就这样做吧。
可能重复[什么是\ _ \ _ init \ _ \ _。py for?](https://stackoverflow.com/questions/448271/what-is-init-py-for) – idjaw
看看那个重复。有一个关于包的教程链接。在这里也是这样:https://docs.python.org/3/tutorial/modules.html#packages – idjaw
最终,你需要在你想要发现的文件夹中放置一个'__init __。py'作为一个包能够导入它。我提供的材料将很好地解释这一点。 – idjaw