python导入同一目录下的自定义模块,出现ModuleNotFoundError

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python导入同一目录下的自定义模块,出现ModuleNotFoundError相关的知识,希望对你有一定的参考价值。

最近学习Python,到模块这一节,
教程以及好多网上的博客上说,当前主程序和自定义模块在同意目录下可以直接import,但是我在测试的时候出现了问题:

文件结构:
folder:
---mymoduledemo.py
---mymodule.py

源代码如下:
# mymodule.py
def say_hi():
print('Hi, this is mymodule speaking.')

__version__ = '0.1'

# mymoduledome.py
import mymodule # 提示错误:ModuleNotFoundError: No module named 'mymodule'

mymodule.say_hi()
print('version',mymodule.__version__)

所以将当前目录加入到sys.path才解决:
# mymoduledome.py

import sys
import os
sys.path.append(os.getcwd())

import mymodule

mymodule.say_hi()
print('version',mymodule.__version__)
### 运行成功

请教,同一目录下为什么直接import出错了 是不能直接导入同目录下的模块 还是小弟源码的问题 =_=

Python版本: 3.6.3 运行命令 python *.py
OS:Windows 10 education 1703 x64

参考技术A 在当前目录下新建一个名字为 __init__.py的文件就可以,内容可以为空 参考技术B 其实是你自己定义的模块名的后缀并没有改为.py,你只是在模块名后加了个.txt,显示文件扩展名后删除.txt就行了

以上是关于python导入同一目录下的自定义模块,出现ModuleNotFoundError的主要内容,如果未能解决你的问题,请参考以下文章

如何在python3中正确导入同一目录下的模块

如何在python3中正确导入同一目录下的模块

python导入不同目录下模块的方法

python导入(import)文件夹下python子函数的方法

django引入模块报错

python导入自带模块和自定义模块