同文件夹下import模块报错:__main__.xx.py not a module

同文件夹下import模块报错:__main__.xx.py

关于这个错误常见于命令端或服务器远程开发时出现,有很多文章做过原因分析,这里不做赘述

下面说说解决办法:

方法一:同文件夹下的模块可以相互调用,但不要出现可直接执行代码,如__main__之类

然后在文件夹外创建模块,比如创建一个入口模块main.py 通过相对路径调用上述文件夹中的模块,如import 文件夹A.模块1 或者from 文件夹A.模块1 import *

以此调用相关功能模块不会报错

方法二:使用__all__=[]列表

使用pycharm创建包时,会自动在包内生成一个__init__.py模块,但我们通过文本编辑器创建包时,需要注意自己创建__init__.py模块,

此时仍不能达到pycharm中

from .模块名 import *

这样的调用还是会报错,需要手动在__init__.py中加入

__all__ = ['模块名1','模块名2',....]

然后在同文件夹下的模块中就可以通过以下代码来调用__init__.py的__all__列表中声明的模块了

from 模块名 import *

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值