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

Posted moisiet

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于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就可以调用这个包了(必须加包名)。

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

import sys

sys.path.append(‘your path‘)

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

 

以上是关于关于python包,模块,.pyc文件和文件导入理解的主要内容,如果未能解决你的问题,请参考以下文章

[python]模块及包

python import

python import

python学习笔记

python:模块导入之浅认识

python18 时间模块 系统模块(os,os.path) 项目开发目录规范