Python 文件类型完全手册

0 阅读8分钟

Python 文件类型完全手册

本文收录了Python生态中所有已知的文件类型,从核心代码到边缘文件,一网打尽!

📂 核心代码文件

文件类型官方名称用途说明出现场景能否编辑
.pyPython源代码标准的Python脚本文件,包含可读的Python代码日常开发、项目核心✅ 可编辑
.py3Python 3源代码明确标识使用Python 3的源文件兼容性项目✅ 可编辑
.py2Python 2源代码明确标识使用Python 2的源文件遗留项目维护✅ 可编辑
.pywPython窗口脚本Windows上运行GUI程序时使用,无控制台窗口GUI应用、后台服务✅ 可编辑
.pyiPython类型存根类型提示文件,为代码提供静态类型信息库开发、类型检查✅ 可编辑
.pyxCython源代码Cython语言源文件,可编译为C扩展性能优化、包装C库✅ 可编辑
.pxdCython定义文件Cython的声明文件,类似C的头文件Cython模块开发✅ 可编辑
.pxiCython包含文件Cython的包含文件,用于代码复用Cython项目✅ 可编辑

⚙️ 编译与字节码文件

文件类型官方名称用途说明位置能否编辑
.pycPython字节码Python编译后的字节码,加速启动__pycache__目录❌ 不可编辑
.pyo优化字节码Python 3.5前的优化字节码(现合并到.pyc)__pycache__目录❌ 不可编辑
.pydPython动态库Windows平台的C扩展模块扩展模块目录❌ 二进制
.so共享对象Linux/Mac平台的C扩展模块扩展模块目录❌ 二进制
.dll动态链接库Windows动态链接库(Python调用的)系统目录、扩展目录❌ 二进制
.dylib动态库macOS动态库扩展目录❌ 二进制
.abi3.soABI3扩展稳定ABI的C扩展兼容多版本Python❌ 二进制

📓 笔记本与交互式文件

文件类型官方名称用途说明主要工具
.ipynbJupyter笔记本交互式文档,包含代码、文本、图表、公式Jupyter、VSCode
.nbliteJupyter Lite笔记本轻量级笔记本格式Jupyter Lite
.jupyterJupyter配置Jupyter配置文件Jupyter Notebook
.ipynb_checkpoints自动备份Jupyter自动保存的备份文件Jupyter自动生成

📦 打包与分发文件

文件类型官方名称用途说明所属工具
.whlWheel包Python现代打包格式,用于分发安装pip、setuptools
.eggEgg包旧版打包格式(逐渐淘汰)setuptools
.egg-infoEgg信息包元数据信息目录setuptools
.dist-info分发信息Wheel包的元数据目录pip、wheel
.tar.gz源码包Python源码分发格式源码安装
.zipZIP压缩包Python源码包(Windows常见)源码安装
.exe安装程序Windows安装包py2exe、PyInstaller
.msiWindows安装包Microsoft安装包Python官方安装包
.debDebian包Debian/Ubuntu安装包系统包管理器
.rpmRPM包RedHat/CentOS安装包系统包管理器

🚀 可执行与打包应用

文件类型官方名称用途说明生成工具
.exeWindows可执行打包后的独立可执行文件PyInstaller、cx_Freeze
.appmacOS应用macOS应用程序包PyInstaller、py2app
.dmgmacOS安装包macOS磁盘映像分发工具
.bin二进制文件Linux可执行文件PyInstaller
.pyzPython压缩应用可执行的Python归档zipapp
.pexPEX可执行自包含Python可执行环境PEX工具

📋 配置与项目文件

文件类型官方名称用途说明所属工具/标准
requirements.txt依赖列表列出项目所需的所有Python包pip
requirements-dev.txt开发依赖开发环境需要的额外依赖pip
pyproject.toml项目配置现代Python项目的配置标准PEP 518/621
setup.py安装脚本传统Python包的安装配置setuptools
setup.cfg安装配置setuptools的声明式配置setuptools
MANIFEST.in清单文件指定打包时包含的非Python文件setuptools
PipfilePipenv依赖Pipenv工具的依赖管理Pipenv
Pipfile.lockPipenv锁文件锁定精确版本Pipenv
poetry.lockPoetry锁文件锁定精确版本Poetry
pyvenv.cfg虚拟环境配置虚拟环境配置文件venv
.pth路径配置添加自定义路径到Python搜索路径site模块
.env环境变量存储环境变量python-dotenv

🔧 编辑器与IDE文件

文件类型官方名称用途说明所属工具
.vscodeVSCode配置VSCode编辑器配置目录VSCode
.ideaIntelliJ配置PyCharm配置目录PyCharm
.projectEclipse项目Eclipse项目文件PyDev
.pydevprojectPyDev配置PyDev插件配置PyDev
.sublime-projectSublime项目Sublime Text项目文件Sublime Text
.sublime-workspaceSublime工作区Sublime Text工作区Sublime Text

🔐 数据与序列化文件

文件类型官方名称用途说明主要库
.pkl / .picklePickle序列化Python对象序列化pickle
.joblibJoblib序列化大数据集和模型保存joblib
.npyNumPy数组NumPy专用数组格式numpy
.npzNumPy压缩数组多数组压缩存储numpy
.h5 / .hdf5HDF5数据大规模科学数据存储h5py
.hdf5HDF5格式同上h5py
.matMATLAB数据MATLAB格式数据scipy.io
.ncNetCDF数据网络通用数据格式netCDF4
.jsonJSON数据轻量级数据交换格式json
.yaml / .ymlYAML数据可读的数据序列化pyyaml
.xmlXML数据可扩展标记语言xml.etree
.csv逗号分隔值表格数据csv、pandas
.tsv制表符分隔值表格数据csv、pandas
.xls / .xlsxExcel文件Excel表格数据pandas、openpyxl
.parquetParquet格式列式存储格式pandas、pyarrow
.featherFeather格式跨语言数据格式pandas、feather
.dbSQLite数据库SQLite数据库文件sqlite3
.sqliteSQLite数据库SQLite数据库文件sqlite3
.db3SQLite 3SQLite 3数据库sqlite3

📊 日志与调试文件

文件类型官方名称用途说明生成工具
.log日志文件程序运行日志logging模块
.prof性能分析Python性能分析数据cProfile
.pstats分析统计性能分析统计pstats
.trace跟踪文件代码执行跟踪trace模块
.coverage覆盖率数据测试覆盖率数据coverage.py
.cover覆盖率报告测试覆盖率报告coverage.py

🔬 科学计算专用

文件类型官方名称用途说明主要库
.ipynbJupyter笔记本科研计算、数据分析Jupyter
.pyxCython源文件数值计算优化Cython
.pxdCython声明同上Cython
.f / .f90Fortran源文件科学计算(通过f2py调用)NumPy
.cC源文件扩展编写、性能优化Python/C API
.cppC++源文件扩展编写pybind11、Boost.Python
.iSWIG接口SWIG接口定义SWIG

📚 文档与教学文件

文件类型官方名称用途说明生成工具
.rstreStructuredTextPython官方文档格式Sphinx
.mdMarkdown项目文档、README通用
.ipynbJupyter笔记本教学文档、教程Jupyter
.texLaTeX学术论文、技术文档论文写作
.pdfPDF文档最终文档格式Sphinx、LaTeX
.htmlHTML文档在线文档Sphinx、pydoc
.epub电子书电子书格式Sphinx
.doctreeSphinx文档树Sphinx中间文件Sphinx

📁 特殊目录与元文件

文件/目录名类型用途说明
__pycache__目录Python字节码缓存目录
__init__.py文件标识目录为Python包
__main__.py文件让包可以作为脚本运行
.git目录Git版本控制目录
.github目录GitHub配置目录
.gitignore文件Git忽略文件配置
.dockerignore文件Docker忽略文件
Dockerfile文件Docker镜像构建文件
.python-version文件pyenv使用的Python版本
.pylintrc文件Pylint代码检查配置
.flake8文件Flake8代码检查配置
.pre-commit-config.yaml文件pre-commit钩子配置
.editorconfig文件编辑器统一配置
.vscode目录VSCode项目配置
.idea目录PyCharm项目配置
site-packages目录第三方包安装目录
dist-packages目录Debian系统包目录
build目录编译临时目录
dist目录分发文件目录
*.egg-info目录Egg包元数据
*.dist-info目录Wheel包元数据

🌐 网络与Web开发

文件类型官方名称用途说明框架/工具
.wsgiWSGI脚本Web服务器网关接口Django、Flask
.asgiASGI脚本异步网关接口FastAPI、Django Channels
.pycgiCGI脚本通用网关接口CGI服务器
.fcgiFastCGI快速CGINginx、Apache
.cookiecutter项目模板项目模板配置cookiecutter

📱 移动与嵌入式

文件类型官方名称用途说明平台/工具
.pyo优化字节码嵌入式系统(旧版)嵌入式Python
.mpyMicroPython字节码MicroPython编译文件MicroPython
.pyMicroPython脚本嵌入式Python代码MicroPython
.pyKivy应用移动应用开发Kivy
.kvKivy语言Kivy界面描述语言Kivy

🧪 测试相关

文件类型官方名称用途说明测试框架
test_*.py测试文件单元测试文件pytest、unittest
*_test.py测试文件单元测试文件pytest
conftest.pypytest配置pytest插件和钩子pytest
pytest.inipytest配置pytest配置文件pytest
.pytest_cache缓存目录pytest缓存pytest
tox.initox配置多环境测试配置tox
tox.initox配置自动化测试配置tox

📦 其他特殊文件

文件类型官方名称用途说明
.bz2Bzip2压缩Python源码压缩包
.xzXZ压缩Python源码压缩包
.lzmaLZMA压缩Python源码压缩包
.whl.metadataWheel元数据Wheel包的元数据信息
.py.typed类型标记标记包包含类型信息
.code-workspaceVSCode工作区VSCode多根工作区配置
.cursorrulesCursor规则Cursor编辑器的AI规则文件

📝 总结

Python生态中总共有超过100种相关文件类型!但作为日常开发者,你真正需要掌握的只有:

✅ 核心必知(10种)

.py.ipynbrequirements.txt__init__.py.pyc.pyd/.so.whl.env.gitignoreREADME.md

🔍 进阶了解(10种)

.pyi.pyx.pkl.yaml.jsonsetup.pypyproject.tomlDockerfile.pth.log

🌟 剩下的都是"遇见了再查"

其他80多种文件类型,大多是在特定场景(如科学计算、嵌入式开发、打包发布等)才会遇到,完全不需要死记硬背。

记住:Python的文件类型反映了其生态的丰富性,但入门只需要关注那最核心的几种就够了!