项目 ¶
约 698 个字 预计阅读时间 3 分钟
程序结构 ¶
Structuring Your Project — The Hitchhiker's Guide to Python
- 源代码目录:存放项目的主要代码,通常命名为 src 或项目名称。
- 测试目录:存放项目的测试代码,一般命名为 tests。
- 配置文件:如
config.py
或.env
,用于存储项目的配置信息。 - 依赖管理文件:如
requirements.txt
,列出项目所需的第三方库及其版本。 - 脚本文件:如
main.py
,作为项目的入口点。
(1 封私信 / 6 条消息 ) Python 项目脚手架 - 知乎 各类Python项目的项目结构及代码组织最佳实践_python项目结构-CSDN博客 Python 项目组织最佳实践:从脚本到大型项目的进化之路 - Piper蛋窝 - 博客园 Python项目结构:构建高效项目的秘诀 - 极客技术博客
多文件编程 ¶
- 模块⽤于组织较⼤的 Python 项⽬
- Python 标准库拆分为多个模块,以便管理。
- 模块以⽂件形式存放,⼀个模块定义了⼀组 Python 函数和其他对象,它们是有关联的
- ⼀个 Python 程序可以在不同⽂件中,这些⽂件是⼀个个模块。⽤ import 语句引⼊
- 模块名是另外⼀个 Python ⽂件的⽂件名 , 不包含扩展名 , 模块就是可以运⾏的程序
import <模块名>
就是执⾏由模块名代表的程序-
引入模块中的函数另⼀⽅法
from <模块名> import *
- 这种⽅法引⼊模块中的所有函数,调⽤的时候不需要再加模块名
from <模块名> import <函数名>
- 这种⽅法引⼊模块中的单个函数,调⽤的时候也不需要再加模块名
- 模块名字空间
- 每个 py 文件是一个模块,模块名就是文件名
- 在每个模块里的全局变量和函数是模块内的,在模块内部可以直接使用,在模块外部要通过模块的名字引用
- 用哪个 py 文件启动程序,那个 py 文件的模块的模块空间就是全局名字空间
dir(模块名)
:显示模块属性__main__
- 程序运⾏时,解释器会制造变量
__name__
- 如果模块作为主程序运⾏,
__name__
变量的值是__main__
- 如果模块被另⼀模块导⼊,
__name__
变量的值是 模块名
包 ¶
- 包是模块概念的⾃然扩展,旨在应付⼤型的项⽬
- 模块把相关的函数、类和变量组织到⼀个⽂件中
- 包则把相关的模块组织到⼀个⽬录中
- 包是⼀个⽬录,其中包含⼀组模块⽂件和⼀个
init.py
⽂件 init.py
可以是空⽂件,但⽬录中必须有- 第⼀次加载包时,会执⾏
init.py
⽂件,完成初始化⼯作 - 如果模块存在于包中,使⽤
import 包名.模块名
形式导⼊包中模块 - ⽤以下形式调⽤函数:
包名.模块名.函数
命令行参数 ¶
- sys.argv[0] # 程序的⽂件名
- sys.argv[1] 第⼀个参数