2017-06-16 137 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 

第二種方式是多少好多了。就這樣做吧。

相關問題