python模块导入&&动态导入

  • 目录结构如下
    在这里插入图片描述
    1.如果想在bin.py中导入all/m.py文件

bin.py是主执行文件,所以执行时python只会把他的目录binDir/加入到环境变量sys.path中,导入是否成功只能看被导入的包路径是否在binDir/下,显然是找不到all/m.py的,要想找到m.p y,必须要把all的目录“模块&包&导入”加入到sys.path

# bin.py
import os, sys
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

# 然后再导入:注意使用from XX.sd import XX时,把我一个原则,from的.左边必须是包,import的XX可以是文件,类,变量
from all import m

2.在第一步的基础上如果m.py中又有导入import cal的操作,还是会报错,找不到cal模块

原因:from all import m时会加载并执行m.py中的顶层代码,即会把import cal加载到主执行文件bin.py执行,虽然第一步把“模块&包&导入”加入到了sys.path环境变量中了,但是也不能这样直接导入,在m.py文件中将导入方式修改成在主执行文件中可见的方式:from all import cal即可解决

3.动态导入
(1)格式

# 格式:导入字符串格式的模块module1
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值