python发布pyc包_关于python包,模块,.pyc文件和文件导入理解

一、包

包是一个文件夹,用来存放模块和子包。

包里一般会有一个__init__.py的文件(也可以没有)。

包里会有一个__pycache__文件夹,存放.py文件经解释器解释后的中间字节码(二进制文件)。

二、模块

可以作为模块的文件有.py、.pyc、.pyo、.pyd、.so、.dll文件。

三、.pyc文件与.pyo文件

这两个文件都是二进制文件,由python解释器将.py文件转化成的二进制文件,目的是加快解释速度且可以隐藏源代码。

python解释器在解释.py文件时,会优先查看是否有对应的最新的.pyc文件,有的话则直接加载.pyc文件。在加载之前,会检查.pyc文件是不是最新的(判断对应.py文件的修改时间),如果不是最新的,则解释.py文件。

.pyc文件可以由python自带模块py_compile生成,且会自动生成一个__pycache__文件夹存放.pyc文件。

如果没有.py文件,只有对应的.pyc文件,也可以调用,因为.pyc文件可以当作模块使用。

.pyo文件是对.pyc文件的优化版本,作用一致。

四、__init__.py文件的作用

__init__.py作用是将包变成一个模块(像.py一样的模块使用)

假如有个包名称为:package

1.在该文件中添加__all__=['os','sys','base64']变量,变量内存放着需要使用的模块名称。这样通过from package import *时,就可以将__data__列表内的模块加载进来。

2.在该文件中添加import os,这样通过package.os就可以调用这个包了(必须加包名)。

3.import package命令会隐式将__init__模块导入。也就是说可以直接通过package调用包里面调用的类,变量等信息。

4.如果在package包的__init__.py文件内通过import os导入了包os,在使用package包时使用from package import *,则可以直接使用os.

如果在__init__.py文件中通过from os import *,则在使用package包时使用from package import *,则可以直接使用os下面的所有函数和变量。

五、如何将自己写的模块放入包导入路径中

import sys

sys.path.append('your path')

一般将包或者模块放置在启动文件的当前目录

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值