Python的“导入错误:没有模块名为‘X’

问题描述:

打击这一点 - 原来这是一些完全无关的(也”。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'是正确的语法。 –

您不必在导入时编写文件的扩展名。只需使用import filehandler

+0

不会更改错误。 – Illiander

两件事情:

  1. import filehandlerimport filehandler.py
  2. 您必须在/src文件夹,当你运行该程序。路径始终是WRT当前文件夹。
+0

我是。当我运行“ls”时,我看到两个文件。 – Illiander

+0

在这种情况下,你应该没有问题......你是否正在使用'python main.py'运行你的python程序?或者你使用Spyder或类似的东西来运行它? – ssm

检查main.py的working directory。如果您正在使用IDE并将文件从目录移动到另一个目录,则文件的“配置”可能保持不变,并且会尝试运行最初的位置。

而像其他人所说,使用import filehandler,而不是“filehandler.py”