python包导入详解

内容介绍

本文重点在总结python脚本在导入包的流程。避免后期项目中环境搭建,部署,包封装,脚本编写中出现包引用错误的问题。

基本语法

以pandas中的io模块举例:
import pandas.io
from pandas import io
from . import io
(与io同文件夹脚本才可以引用到,或者将路径加入sys,不推荐)
from pandas import *
(特殊:只能引用__all__函数中内容)
__all__函数

基础过程

  • 判断模块是否在sys.module字典中,通过字典的key判断。
  • 如果不在sys.module字典中
    + 在sys.path,python相关环境变量中查找模块。
    环境变量设置
    + 将模块加载到内 存空间。
    + 将模块__init__.py文件路径加入sys.module字典中。
  • 模块加载到当前python文件的Local命名空间.。
    Local参考

导入过程

  • 顺序导入
    • 例如import pandas.io
      • 先导入pandas
      • 再导入pandas.io
  • 循环导入(嵌套导入)
    实际是顺序导入的延申。一个包经常要引用其它的包,形成一层层的依赖关系。其它包__ini__.py文件路径虽然在sys.module中存在,但并意味着这脚本中能直接使用,因为没有加载。
    参考
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值