Python3 Cookbook 模块与包

    本文主要是对模块与包几个问题的一句话解释。

  1. 构建一个模块层级包,在包的模块里面增加__init__.py可以按照包路径对包中模块进行索引

  2. 控制模块被全部倒入的内容, 使用__all__  = []导入模块中需要导入的内容

  3. 使用相对路径名导入包中子模块, 使用., ..作为相对路径引用包名,只适用“from import 语句”

  4. 将模块分割成多个文件,将一个类中不同的子类分割成单独的文件放在目录中

  5. 利用命名空间导入目录分散的代码, 将目录名加入到sys.path.extend中并且不能也有__init__.py

  6. 重新加载模块, 使用imp.reload()重新加载包,存在的问题是,不能更新from  import 的包,届时会加载两个同样的函数

  7. 运行目录或压缩文件, 在包目录中添加__main__.py,该文件作为主程序,届时直接运行目录就可以执行程序。

  8. 读取包中的数据文件, 使用pkgutil.get_data(__package__, ‘some_data.dat’)

  9. 将文件夹加入到sys.path中,第一种方式使用 env PYTHONPATH=/some/some.py:/some2/some2.py 第二种创建一个.pth文件(某个 Python 的 site-packages 目录),将需要的目录列举出来。这个使用调远程的代码。

  10. 通过字符串名导入模块,使用importlib.import_module

  11. 通过钩子远程加载模块,配置http服务器python -m http.server 15000 可以远程调用包。书中的代码可以复用

  12. 导入模块的同时修改模块, 使用钩子存储已加载的模块,写装饰器函数,在模块被加载时出发行为。

  13. 安装私有的包, python setup.py install —user

  14. 创建新的Python 环境, 使用pyvenv(目前无法使用)创建,该环境不包括任何第三方库。

  15. 分发包, 写setup.py minifest.in 可以使用第三方库setuptool,distribute来发布包。

                                                                      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值