当前位置: 首页 > article >正文

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 项目工程化开发指南


http://www.kler.cn/a/502290.html

相关文章:

  • 【Pandas】pandas Series rtruediv
  • uniApp通过xgplayer(西瓜播放器)接入视频实时监控
  • 【Leetcode 热题 100】84. 柱状图中最大的矩形
  • 系统看门狗配置--以ubuntu为例
  • 基于“大型园区”网络设计
  • 【华为OD-E卷 - IPv4地址转换成整数 100分(python、java、c++、js、c)】
  • 基于华为atlas的重车(满载)空车(空载)识别
  • 某漫画网站JS逆向反混淆流程分析
  • Vue2+OpenLayers添加/删除点、点击事件功能实现(提供Gitee源码)
  • 正点原子STM32F103战舰版电容触摸键学习
  • LabVIEW光流算法的应用
  • HTML 闪烁动画(Blink Animation)
  • 前端练习题
  • MACPA:fMRI连接性分析的新工具
  • 第 5 场 算法季度赛
  • 51c大模型~合集104
  • 计算机网络之---网络层的基本功能
  • 使用python调用JIRA6 REST API及遇到的问题
  • 自然语言处理之jieba分词和TF-IDF分析
  • Linux 高级路由 —— 筑梦之路
  • 链条缺陷检测数据集VOC+YOLO格式1422张7类别
  • [Android]service命令的使用
  • 【微服务】面试 3、 服务监控 SkyWalking
  • 景联文科技提供高质量多模态数据处理服务,驱动AI新时代
  • 经典软件测试面试题大全(含答案+文档)
  • Redis 的大 Key 对持久化有什么影响