2017-06-16 89 views
0

说我有这个 “运行” Python文件位于:在不同的子目录中导入不同的python文件?

C:\文件夹\ subfolder_first \ running.py

,我有一个 “帮手” Python文件位于: C:\文件夹\ subfolder_second \ helper.py

我正在使用Pycharm,我想在运行文件中运行帮助程序文件的某些函数/方法。我该怎么做?

from folder.subfolder_second import helper 

我尝试了上面这行,但它给我的错误信息: 导入错误:没有模块名为等等等等......

+0

可能重复[什么是\ _ \ _ init \ _ \ _。py for?](https://stackoverflow.com/questions/448271/what-is-init-py-for) – idjaw

+0

看看那个重复。有一个关于包的教程链接。在这里也是这样:https://docs.python.org/3/tutorial/modules.html#packages – idjaw

+0

最终,你需要在你想要发现的文件夹中放置一个'__init __。py'作为一个包能够导入它。我提供的材料将很好地解释这一点。 – idjaw

回答

2

对于Python 3只

为了得到这个工作,你会需要一个文件树这样的:

- folder 
    __init__.py 
    - subfolder_first 
     running.py 
     __init__.py 
    - subfolder_second 
     helper.py 
     __init__.py 

然后您可以运行helperrunning.py这样的:

from ..subfoler_second import helper 

不过,我建议将其结构是这样,而不是:

- folder 
    running.py 
    - helpers 
     my_helper.py 
     __init__.py 

然后从running.py像导入my_helper

from helpers import my_helper 

第二种方式是多少好多了。就这样做吧。

相关问题