2017-05-03 59 views
-1

這裏的第一個問題,並且在問這個問題之前做了冗長的研究,但似乎無法弄清楚。Python - 導入相同目錄中的python文件實際上導入該文件中的類具有相同的名稱,而不是文件

我想通過一個標準的import語句將在同一個目錄下的文件:

import foo 

文件看起來是這樣的:

project_folder 
---->foo 
---->etc. 

即使工作目錄,似乎它不工作按順序排列。我得到的錯誤是,foo試圖導入一個自制模塊,再次導入該模塊內的另一個文件。所以發生以下情況:

file = wip_file.py 
>import foo 
------------ 
file = foo.py 
>from spam import eggs, bacon 
------------ 
file = eggs.py 
>import bacon 

垃圾郵件是站點包中的一個自創模塊。現在我收到的錯誤是,在egg.py中導入時沒有名爲培根的模塊。而有趣的是,培根成功導入foo.py.

然後我試圖通過文件夾名稱導入它上面:

from project_folder import foo 

但是通過做這種方式進口了這是所謂的富以及該文件foo裏面的類。相同的腳本在另一臺PC上運行良好。所以我猜想PyCharm中有些東西與我的路徑混淆了。有沒有人有任何建議,如何解決這個問題,重置標準或任何其他的事情,我可以嘗試?

非常感謝提前!

+0

你的模塊有一個空的\ __ init__.py文件嗎?這就是python知道它是你想要導入的模塊。另外,你使用的是什麼版本的Python? –

+0

模塊「foo」未命名爲「foo.py」?這會造成問題。 –

+0

在自己創建的模塊中確實有一個init文件。我使用Python 3.6,另一臺PC 3.4。但是到目前爲止,我們還沒有任何問題。foo.py文件不是一個模塊。 –

回答

0

我終於明白了。這種或那種方式導入在egg.py中做錯了。應該是:

from . import bacon 

現在它工作得很好。

感謝您的快速響應!

相關問題