大家好,很高兴再次与大家见面,我是全栈君。
Python 文件常见的后缀名包括:
py
pyc
pyo
pyi
pyw
pyd
pyx
pyz
pywz
rpy
pyde
pyp
pyt
py
实际上,如果使用
python + 文件
python test.pypython test.txtpython test
pyc
立即学习“Python免费学习笔记(深入)”;
pyc
py
python test.pypython test.pyc
pyc
作用一:提升加载性能。当 Python 代码执行时,首先由 Python 解析器翻译成 PyCodeObject 对象(字节码),然后由 Python 解释器执行。每次运行程序时,翻译后的字节码保存在内存中,程序结束后即消失。为了提高加载效率,Python 会在程序结束后将每个文件的字节码写入硬盘,保存为
xxx.pyc
xxx.pyc
xxx.py
xxx.pyc
默认情况下,并不是所有的
py
pyc
pyc
hello.py
import.py
# hello.pyprint("hello")# import.pyimport hello
直接运行
python hello.py
pyc
python import.py
hello.py
pyc
Python2 和 Python3 在生成
pyc
pyc
__pycache__
xxx.cpython-37.pyc
Python2
![Python 相关文件常见的后缀名详解[通俗易懂]](https://img.php.cn/upload/article/001/503/042/175642695277971.jpg)
Python3
![Python 相关文件常见的后缀名详解[通俗易懂]](https://img.php.cn/upload/article/001/503/042/175642695330351.jpg)
作用二:隐藏源代码。
pyc
pyc
默认情况下,主文件不会生成
pyc
py_compile
compileall
py
pyc
python -m py_compile *.pypython -m compileall *.py
Python2
![Python 相关文件常见的后缀名详解[通俗易懂]](https://img.php.cn/upload/article/001/503/042/175642695310984.jpg)
Python3
![Python 相关文件常见的后缀名详解[通俗易懂]](https://img.php.cn/upload/article/001/503/042/175642695399474.jpg)
反编译
pyc
pyc
uncompyle6
pyc
py
pip install uncompyle6
执行以下命令可以将生成的
pyc
py
uncompyle6 -o . *.pyc
![Python 相关文件常见的后缀名详解[通俗易懂]](https://img.php.cn/upload/article/001/503/042/175642695384239.jpg)
打开生成的文件
hello.cpython-37.py
import.cpython-37.py
py
![Python 相关文件常见的后缀名详解[通俗易懂]](https://img.php.cn/upload/article/001/503/042/175642695312664.jpg)
要了解更多关于防止反编译的技术,请参考文章:通过字节码混淆来保护Python代码。
pyo
pyo
pyc
pyo
assert
py_compile
compileall
pyo
-O
python -O -m py_compile *.pypython -O -m compileall *.py
![Python 相关文件常见的后缀名详解[通俗易懂]](https://img.php.cn/upload/article/001/503/042/175642695383113.jpg)
从 Python3.5 开始,Python 只使用
pyc
pyo
pyo
pyc
python3 -O -m py_compile *.pypython3 -O -m compileall *.py
![Python 相关文件常见的后缀名详解[通俗易懂]](https://img.php.cn/upload/article/001/503/042/175642695338035.jpg)
pyi
pyi
PEP484
PEP
PEP20
PEP8
PEP8
PEP3105
PEP
常用的 IDE 都有类型检查提示功能,例如在 PyCharm 中,当给一个函数传入错误类型时会给出提示。这不是 IDE 的特殊开发功能,而是集成了
PEP484
pyi
例如,
os.makedirs
int
![Python 相关文件常见的后缀名详解[通俗易懂]](https://img.php.cn/upload/article/001/503/042/175642695337531.jpg)
按住
ctrl
os
os.makedirs
*
Has stub item in __init__.pyi
![Python 相关文件常见的后缀名详解[通俗易懂]](https://img.php.cn/upload/article/001/503/042/175642695468001.jpg)
点击
*
__init__.pyi
PEP484
os
![Python 相关文件常见的后缀名详解[通俗易懂]](https://img.php.cn/upload/article/001/503/042/175642695450971.jpg)
关于
pyi
pyw
pyw
py
python + 文件
在 Windows 系统上,新建两个内容相同的 Python 文件
hello.py
hello.pyw
python + 文件
# hello.pyprint("hello")# hello.pywprint("hello")![Python 相关文件常见的后缀名详解[通俗易懂]](https://img.php.cn/upload/article/001/503/042/175642695457980.jpg)
那么,为什么还需要
pyw
在 Windows 系统上,双击文件时,系统会根据文件扩展名调用关联的
exe
python.exe
pythonw.exe
exe
python.exe
py
pythonw.exe
pyw
python.exe
pythonw.exe
stdout
stderr
stdin
stdout
![Python 相关文件常见的后缀名详解[通俗易懂]](https://img.php.cn/upload/article/001/503/042/175642695438244.jpg)
因此,在开发 Python GUI 程序时,如果不想让程序运行时弹出黑色的 cmd 窗口,可以将源码文件的后缀名改为
pyw
pyw
py
pyw
tkinter
bat
pyd
Python 是一种胶水语言,可以将对速度要求较高的代码使用 C 语言编写,编译成动态链接库文件,再通过 Python 调用。一般来说,在 Linux 上是
so
DLL
例如,有一个 C 语言编写的 Windows 动态链接库
test_lib.dll
int sum(int x, int y){ return x + y;}可以在 Python 代码中通过以下方式调用:
# test_lib.dll 放在当前目录下import ctypesfrom ctypes import *test_lib = ctypes.windll.LoadLibrary("test_lib.dll")a = ctypes.c_int(1)b = ctypes.c_int(2)out = test_lib.sum(a, b)print(out) # 3在 Windows 系统上,Python 还有一种
pyd
ctypes.windll.LoadLibrary
pyd
import
# test_lib.pyd 放在当前目录下import test_libout = test_lib.sum(1, 2)print(out) # 3
关于
pyd
DLL
C 语言代码和 Python 代码都可以通过一定的方法编译成
pyd
pyd
使用C++创建Pyd文件扩展Python模块
Python源代码保护(Python文件编译生成pyd/so库文件)
pyx
注意是 Cython 而不是 CPython。Cython 是一种结合了 Python 语法和 C/C++ 效率的编程语言。用 Cython 编写的代码可以很容易转成 C 语言代码,然后编译成动态链接库(
pyd
DLL
pyx
总结
| 后缀名 | 作用 |
|---|---|
| py | 最常见的 Python 源代码文件。 |
| pyc | 常见的 Python 字节码缓存文件,可以反编译成 py 文件。 |
| pyo | 另一种 Python 字节码缓存文件,只存在于 Python2 及 Python3.5 之前的版本。 |
| pyi | Python 的存根文件,常用于 IDE 代码格式检查时的类型提示。 |
| pyw | 另一种 Python 源代码文件,一般只存在于 Windows 系统。 |
| pyd | 一种 Python 可直接调用的 C 语言动态链接库文件,一般只存在于 Windows 系统。 |
| pyx | Cython 源代码文件,一般用来编写 Python 的 C 扩展。 |
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://www.php.cn/link/81dd4df7529a4765132f4425191d1715
原文链接:https://www.php.cn/link/c8377ad2a50fb65de28b11cfc628d75c
以上就是Python 相关文件常见的后缀名详解[通俗易懂]的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号