👉 项目官网:https://www.python-office.com/ 👈
👉 本开源项目的交流群 👈

大家好,我是程序员晚枫。
最近有了AI编程,Python的热度降低了,我也终于有时间关注一直感兴趣的Python话题,而不是回答Python怎么安装这种入门问题了。
我对于Python兴趣的探索,主要基于两本书:《流畅的Python》、《Python高性能编程》。越深入了解Python高级语法,越能深入理解这门语言设计的精妙之处。
今天我们来聊聊Python世界中那些形形色色的文件类型。
作为一个Python开发者,你肯定经常跟
.py文件打交道。但Python生态中其实还有很多其他重要的文件类型,每种都有其独特的用途。
| 文件类型 | 主要用途 | 是否可读 | 生成方式 |
|---|---|---|---|
| .py | Python源代码 | ✅ 是 | 手动创建 |
| .pyc | 编译后的字节码 | ❌ 否 | Python自动生成 |
| .pyo | 优化后的字节码 | ❌ 否 | Python带-O参数生成 |
| .pyd | Windows动态链接库 | ❌ 否 | Cython/C扩展编译 |
| .so | Linux/Mac动态库 | ❌ 否 | Cython/C扩展编译 |
| .pyw | 无控制台Python脚本 | ✅ 是 | 手动创建 |
| .pyx | Cython源代码 | ✅ 是 | 手动创建 |
有一些文件类型你可能没见过,有2种原因:
这是最常见的Python文件,包含人类可读的Python代码。
1 | # hello.py |
Python解释器将.py文件编译成字节码,加速后续执行。
生成方式:
1 | # Python会自动在__pycache__目录生成.pyc文件 |
文件结构:
__pycache__目录hello.cpython-39.pyc.pyd文件本质上是DLL文件,但可以被Python直接导入。
这种类型,可以理解为java中的jar包格式,可以打包后给别人使用。
创建示例(使用Cython):
1 | # 安装Cython |
使用.pyd文件:
1 | # 像普通模块一样导入 |
Cython是Python的超集,允许编写C扩展。
1 | # fastmath.pyx |
在Windows上,.pyw文件运行时不会显示控制台窗口,适合GUI应用。
1 | # my_app.pyw |
| 文件类型 | 用途 |
|---|---|
| init.py | 包初始化文件(Python 3.3+可选) |
| main.py | 包作为脚本执行时的入口 |
| 文件类型 | 用途 |
|---|---|
| .whl | Python包的分发格式(wheel) |
| .egg | 旧版包分发格式 |
| setup.py | 包安装脚本 |
| setup.cfg | 包配置 |
| pyproject.toml | 现代包配置 |
| requirements.txt | 依赖列表 |
1 | # pyproject.toml(现代Python项目) |
| 文件类型 | 用途 |
|---|---|
| .python-version | pyenv版本文件 |
| Pipfile | pipenv依赖管理 |
| Pipfile.lock | 依赖锁文件 |
| environment.yml | conda环境配置 |
用于类型提示,不包含实现代码。
1 | # math.pyi |
在Python路径中添加自定义路径。
1 | # my_paths.pth |
包含所有依赖的zip应用。
1 | # 创建.pyz文件 |
1 | # test_example.py |
| 文件类型 | 用途 |
|---|---|
| .pylintrc | Pylint配置 |
| .flake8 | Flake8配置 |
| .coveragerc | 测试覆盖率配置 |
| .pre-commit-config.yaml | Git钩子配置 |
一个典型的Python项目结构:
1 | my_project/ |
1 | python -m dis hello.pyc |
1 | # 使用Cython批量编译 |
1 | # setup.py |
在某些场景下,编译成.pyd可以显著提升性能:
1 | # 性能测试示例 |
Python的文件生态系统非常丰富,从源代码到编译文件,从配置到分发,每种文件类型都有其特定用途:
.py、.pyx.pyc、.pyd、.so.whl、.egg掌握这些文件类型的特点和用途,能够帮助你更好地组织项目、优化性能和管理依赖。
互动话题:你在项目中还遇到过哪些特殊的Python文件类型?欢迎在评论区分享你的经验!
资源推荐:
如果觉得本文对你有帮助,请点赞、在看、转发支持!
另外,大家去给小明的小红书👇账号点点赞吧~!我不想努力了,想吃软饭了。





导读部分:这一讲,我们介绍AI编程的基本用法,并且将使用Qoder完成第一个AI编程的开发。
大家好,这里是程序员晚枫。
大家好,我是程序员晚枫。在上一讲中,我们配置了AI编程工具:点我查看
今天,让我们真正上手,使用国产AI IDE——Qoder,结合python-office库,完成你的第一个AI办公自动化程序!
这是本次课程中唯一 一个需要人工操作的步骤。
还没有安装Python的朋友,可以去看我录制的视频:
这里顺便说一下:虽然今年Python已经发布了Python3.14,但答应我,用3.11就够了。
Python 3.14正式发布!这5大新特性值得尝试
打开Qoder的内置终端,输入:
1 | pip install python-office -U |
验证安装:新建Python文件,输入以下代码测试:
1 | import office |
截止写这套课的晚上,以上这个代码,经过AI的测试后应该输出:1.0.6
运行后看到正确的版本信息,说明环境配置成功!
从这一讲开始,都在我的第3讲付费直播里演示了。
训练营的朋友可以免费看直播回放,大家+我微信:wfdev7,找我要。
(悄悄说:这样我也知道你学到第3讲了!)
选中任何python-office代码,按Ctrl+Shift+I,AI会详细解释代码功能和使用方法。
右键选择”AI优化”,Qoder会自动分析代码性能并提出改进建议。
输入office.后,Qoder会根据上下文推荐最合适的python-officeAPI。
任务:使用Qoder创建一个解决实际工作痛点的工具
要求:
python-office进行功能完善示例:
1 | 需求描述: |
Q:Qoder是免费的吗?
A:不是免费的,但是本套课程提供免费版,包含大部分AI功能,完全满足学习需求。白嫖方式:白嫖 Qoder 的两种正确姿势:pro积分 + 永久 Lite 模式全攻略
Q:Qoder支持团队协作吗?
A:支持!内置了代码评审、实时协作等团队功能
Q:如何提高Qoder的代码生成质量?
A:提供详细的需求描述,包括输入、输出、异常处理要求
在第4讲中,我们将深入学习python-office的热门功能,并以一个真实业务场景为例,在Qoder中开发完整的办公自动化解决方案。
本节课的收获:
python-office课后任务:
我是程序员晚枫,我们下一讲见!
有任何问题,欢迎联系我的微信👉python-office
tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent:
meta: false
pages: false
posts:
title: true
date: true
path: true
text: false
raw: false
content: false
slug: false
updated: false
comments: false
link: false
permalink: false
excerpt: false
categories: false
tags: true