2017-10-09 96 views
0

打擊這一點 - 原來這是一些完全無關的(也」。py」爲後綴)Python的「導入錯誤:沒有模塊名爲‘X’

我的文件結構是這樣:

src/
    | main.py 
    | filehandler.py 

我main.py未能在該行:

import filehander.py 

與錯誤:

Traceback (most recent call last): 
    File "main.py", line 7, in <module> 
    import filehander 
ImportError: No module named 'filehander' 

爲什麼python無法做到在同一目錄中導入文件這麼簡單的任務?

+0

你不導入文件,導入模塊。文件系統只是一個實現細節。 [你認爲現在是你呼吸的空氣](https://www.youtube.com/watch?v=CWaxF8jlnm0)? –

+0

'import filehander.py'是錯誤的。你不會在導入中寫入.py。 'import filehander'是正確的語法。 –

回答

0

您不必在導入時編寫文件的擴展名。只需使用import filehandler

+0

不會更改錯誤。 – Illiander

0

兩件事情:

  1. import filehandlerimport filehandler.py
  2. 您必須在/src文件夾,當你運行該程序。路徑始終是WRT當前文件夾。
+0

我是。當我運行「ls」時,我看到兩個文件。 – Illiander

+0

在這種情況下,你應該沒有問題......你是否正在使用'python main.py'運行你的python程序?或者你使用Spyder或類似的東西來運行它? – ssm

0

檢查main.py的working directory。如果您正在使用IDE並將文件從目錄移動到另一個目錄,則文件的「配置」可能保持不變,並且會嘗試運行最初的位置。

而像其他人所說,使用import filehandler,而不是「filehandler.py」

相關問題