自学内容网 自学内容网

Python目录结构参考

常用目录结构

  • 对于Web项目,我们通常采用Flask或Django等框架,会有一套适合这种项目的工程目录。

  • 对于爬虫项目,通常有Scrapy等开源框架,也会提供一套适合这种项目的工程目录。

  • 对于通用的一些Python项目,Python并没有官方或标准的目录架构设计方案,一下几个结构供参考,根据自己的情况使用,大体相同,主要在一些细节管理上存在不同。

参考一 

      Project/
          |-- bin/
          |    |-- a/
          |    |-- b/
          |
          |-- corecode/
          |    |-- m1/
          |    |    |-- init.py
          |    |    |-- xxx.py
          |    |-- m2/
          |    |    |-- init.py
          |    |    |-- xxx.py
          |    |
          |    |-- tests/
          |    |    |-- init.py
          |    |    |-- test_main.py
          |    |
          |    |-- init.py
          |    |-- main.py
          | 
          |-- docs/
          |    |-- conf.py
          |    |-- abc.ini
          |
          |-- extras/
          |    |-- C
          |    |-- x.JAVA
          |
          |-- log/
          |    |-- xxx.log
          |
          |-- resource/
          |    |-- icon/
          |    |-- xxx
          |
          |-- .gitignore
          |-- CHANGELOG
          |-- LICENSE.txt
          |-- README
          |-- requirements.txt

参考二

my_project/                 # 项目根目录
├── my_project/             # 主模块目录(与项目名同名)
│   ├── __init__.py         # 标识该目录为一个 Python 包
│   ├── module1.py          # 模块1
│   ├── module2.py          # 模块2
│   ├── submodule/          # 子模块目录
│   │   ├── __init__.py
│   │   └── utils.py        # 子模块中的工具模块
├── tests/                  # 测试代码目录
│   ├── __init__.py
│   ├── test_module1.py     # 测试模块1
│   └── test_module2.py     # 测试模块2
├── docs/                   # 文档目录
│   ├── index.md            # 项目文档
│   └── architecture.md     # 架构文档
├── setup.py                # 项目打包和安装的配置文件
├── requirements.txt        # 项目依赖列表
├── README.md               # 项目简介
├── .gitignore              # Git 忽略规则
├── LICENSE                 # 项目许可证
└── pyproject.toml          # PEP 518 配置文件(可选)

参考三

sampleproject
├── data
│   └── user.json
├── docs
│   └── history.md
├── pyproject.toml
├── src
│   ├── requests
│   │   └── __init__.py
│   └── sample
│       ├── __init__.py
│       ├── user
│       │   └── __init__.py
│       └── views
│           └── __init__.py
├── tests
│   ├── __init__.py
│   ├── user
│   │   └── __init__.py
│   └── views
│       └── __init__.py
└── tox.ini

 目录说明

  • bin/: 存放项目的一些可执行文件/脚本文件,(也可以用scripts,作为该目录名称)。
  • corecode/: 存放项目的所有源代码(也可以用src,项目名,作为该目录名称)。
    • (1) 源代码中的所有模块、包都应该放在此目录。不要置于顶层目录。
    • (2) 其子目录tests/存放单元测试代码;
    • (3) 程序的入口最好命名为main.py。
  • docs/:文档类文件,例如参考文档、项目配置文件等;
  • extras/:外部代码,例如C/C++、JAVA等;
  • log/:存放运行log;
  • resource/:存放代码执行的资源,例如界面图标、数据集等;
  • .gitignore:Git项目文件,这个文件的作用就是告诉Git哪些文件不需要添加到版本管理中。
  • CHANGELOG:更新日志文件,若使用git等版本控制软件,可自动生成,前提是使用规范的书写方式
  • LICENSE:开源协议,常见开源许可协议可点击-这里-查看;
  • README: 说明文档,一般包括使用的环境,安装的方法,软件的基本原理、测试数据及常见问题等
  • requirements.txt:存放软件依赖的外部Python包列表:
    • 生成:在项目根目录下运行 pip freeze > requirements.txt
    • 安装:pip install -r requirements.txt

参考

Project目录结构 

Python 项目工程化开发指南


原文地址:https://blog.csdn.net/ystyaoshengting/article/details/145120550

免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!