PEP 3147 是 Python Enhancement Proposal (
▥Python
𝄐 0
python仓库管理,python 仓库管理系统,python的pyb库,python的库存在哪里,用python写仓库软件,python仓库系统开发
PEP 3147 是 Python Enhancement Proposal (Python 增强提案) 的一部分,它定义了 Python 编译后的字节码文件(.pyc 文件)的存储位置和加载方式。具体来说,PEP 3147 提出使用单独的目录来存储 .pyc 文件,而不是像以前那样将它们混合在与源代码相同的目录中。
这个 PYC 仓库目录默认为 __pycache__ 目录,它位于包含源代码的目录下。在该目录下,每个模块都有一个子目录,其名称为 <module name>.<cpython version number>,其中 <module name> 是模块的名称,<cpython version number> 是当前 CPython 解释器版本的数字表示,例如 "37" 表示 CPython 3.7 版本。每个子目录中都包含一个名为 <module name>.cpython-<cpython version number>.pyc 的编译后字节码文件。
例如,假设有以下 Python 模块:
my_package/
__init__.py
my_module.py
在 Python 3.2 及以上版本中,当你导入 my_package.my_module 模块时,它将生成一个名为 my_module.cpython-32.pyc 的字节码文件,并将其放在 my_package/__pycache__/ 目录下的 my_module.cpython-32/ 子目录中。如果你升级到 Python 3.8,那么将生成一个名为 my_module.cpython-38.pyc 的新的字节码文件,且会放在一个名为 my_module.cpython-38/ 的新子目录下。
通过将 .pyc 文件存储在单独的目录中,PEP 3147 带来了一些好处,例如:
- 使得源代码目录更清晰,更易于管理。
- 确保不同版本的 Python 解释器生成的 .pyc 文件彼此独立,避免混淆和错误。
- 可以方便地删除所有 .pyc 文件,而不会影响源代码。
需要注意的是,PYC 仓库目录只适用于 CPython 解释器。其他 Python 解释器可能采用不同的方式来存储和加载 .pyc 文件。
PEP 3147 是 Python Enhancement Proposal (Python 增强提案) 的一部分,它定义了 Python 编译后的字节码文件(.pyc 文件)的存储位置和加载方式。具体来说,PEP 3147 提出使用单独的目录来存储 .pyc 文件,而不是像以前那样将它们混合在与源代码相同的目录中。
这个 PYC 仓库目录默认为 __pycache__ 目录,它位于包含源代码的目录下。在该目录下,每个模块都有一个子目录,其名称为 <module name>.<cpython version number>,其中 <module name> 是模块的名称,<cpython version number> 是当前 CPython 解释器版本的数字表示,例如 "37" 表示 CPython 3.7 版本。每个子目录中都包含一个名为 <module name>.cpython-<cpython version number>.pyc 的编译后字节码文件。
例如,假设有以下 Python 模块:
my_package/
__init__.py
my_module.py
在 Python 3.2 及以上版本中,当你导入 my_package.my_module 模块时,它将生成一个名为 my_module.cpython-32.pyc 的字节码文件,并将其放在 my_package/__pycache__/ 目录下的 my_module.cpython-32/ 子目录中。如果你升级到 Python 3.8,那么将生成一个名为 my_module.cpython-38.pyc 的新的字节码文件,且会放在一个名为 my_module.cpython-38/ 的新子目录下。
通过将 .pyc 文件存储在单独的目录中,PEP 3147 带来了一些好处,例如:
- 使得源代码目录更清晰,更易于管理。
- 确保不同版本的 Python 解释器生成的 .pyc 文件彼此独立,避免混淆和错误。
- 可以方便地删除所有 .pyc 文件,而不会影响源代码。
需要注意的是,PYC 仓库目录只适用于 CPython 解释器。其他 Python 解释器可能采用不同的方式来存储和加载 .pyc 文件。
本文地址:
/show-274372.html
版权声明:除非特别标注原创,其它均来自互联网,转载时请以链接形式注明文章出处。