Python Import

一、模块与包

       module来源有3种:①Python内置的模块(标准库);②第三方模块;③自定义模块。module 可看作一个工具类,可共用或者隐藏代码细节,将相关代码放置在一个module以便让代码更好用、易懂,让coder重点放在高层逻辑上。
1、构建模块层级包

       封装成包是很简单的。在文件系统上组织你的代码,并确保每个目录都定义了一个__init__.py文件。 例如:

graphics/
    __init__.py
    primitive/
        __init__.py
        line.py
        fill.py
        text.py
    formats/
        __init__.py
        png.py
        jpg.py

       定义模块的层次结构就像在文件系统上建立目录结构一样容易。 文件__init__.py的目的是要包含不同运行级别的包的可选的初始化代码。 举个例子,如果你执行了语句import graphics, 文件graphics/__init__.py将被导入,建立graphics命名空间的内容。

 

2、自定义包的调用

         自定义的包既不是python的内置模块,也不是python的第三方模块。若要import这个文件夹包常用有两种方法:1)如果有pycharmIDE,通过定义Source Root的方法;2)将文件夹包的路径加入到sys.path

1)设置pycharmIDE的Source Root(推荐)

        例如在tests文件夹中需要调用另一个目录下的keras_ocr这个包,只需要将再上级目录设置为Source Root。

 

2)将文件夹的包加入到sys.path

        你无法导入你的Python代码因为它所在的目录不在sys.path里。你想将添加新目录到Python路径,但是不想硬链接到你的代码。

# keras_ocr这个包位于上一级目录
import sys
sys.path.append('..')   # 将上一级路径‘..’放于环境变量的尾部
sys.path.insert(0, '..')  # 将上一级路径‘..’放于环境变量的顶部
import keras_ocr

         这种方法的问题是,它将目录名硬编码到了你的源代码。如果你的代码被移到一个新的位置,这会导致维护问题。

 

【1】https://python3-cookbook.readthedocs.io/zh_CN/latest/chapters/p10_modules_and_packages.html

【2】https://blog.csdn.net/weixin_38256474/article/details/81228492

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值