Python工程的文档结构,可以参考https://stackoverflow.com/questions/193161/what-is-the-best-project-structure-for-a-python-application;

有个答主提到了《Filesystem structure of a Python project》(http://as.ynchrono.us/2007/12/filesystem-structure-of-python-project_21.html),确实写的不错。这篇文章推荐的结构:

Project/
|-- bin/
|   |-- project
|
|-- project/
|   |-- test/
|   |   |-- __init__.py
|   |   |-- test_main.py
|   |
|   |-- __init__.py
|   |-- main.py
|
|-- setup.py
|-- README

开源工程对文档结构肯定更高些,可以参考:https://jeffknupp.com/blog/2013/08/16/open-sourcing-a-python-project-the-right-way/。作者Jeff Knupp还写过一本介绍Pythonic Code的小书,值得一看!(下载此书:https://github.com/iamseancheney/pythonbooks/blob/master/PythonStyle-Writing_idiomatic_python_3.pdf)

其实更好的方法,可能是直接去GitHub上参考高赞项目的结构,比如PySpider(https://github.com/binux/pyspider)的文档结构:

PySpider
.
├── Dockerfile
├── LICENSE
├── MANIFEST.in
├── README.md
├── data
├── docs
│   ├── About-Projects.md
│   ├── About-Tasks.md
│   ├── Architecture.md
│   ├── Command-Line.md
│   ├── Deployment-demo.pyspider.org.md
│   ├── Deployment.md
│   ├── Frequently-Asked-Questions.md
│   ├── Quickstart.md
│   ├── Running-pyspider-with-Docker.md
│   ├── Script-Environment.md
│   ├── Working-with-Results.md
│   ├── apis
│   │   ├── @catch_status_code_error.md
│   │   ├── @every.md
│   │   ├── Response.md
│   │   ├── index.md
│   │   ├── self.crawl.md
│   │   └── self.send_message.md
│   ├── conf.py
│   ├── imgs
│   │   ├── creating_a_project.png
│   │   ├── css_selector_helper.png
│   │   ├── demo.png
│   │   ├── developer-tools-network-filter.png
│   │   ├── developer-tools-network.png
│   │   ├── index_page.png
│   │   ├── inspect_element.png
│   │   ├── pyspider-arch.png
│   │   ├── request-headers.png
│   │   ├── run_one_step.png
│   │   ├── search-for-request.png
│   │   ├── tutorial_imdb_front.png
│   │   └── twitch.png
│   ├── index.md
│   └── tutorial
│       ├── AJAX-and-more-HTTP.md
│       ├── HTML-and-CSS-Selector.md
│       ├── Render-with-PhantomJS.md
│       └── index.md
├── mkdocs.yml
├── pyspider
│   ├── __init__.py
│   ├── database
│   │   ├── __init__.py
│   │   ├── base
│   │   │   ├── __init__.py
│   │   │   ├── projectdb.py
│   │   │   ├── resultdb.py
│   │   │   └── taskdb.py
│   │   ├── basedb.py
│   │   ├── elasticsearch
│   │   │   ├── __init__.py
│   │   │   ├── projectdb.py
│   │   │   ├── resultdb.py
│   │   │   └── taskdb.py
│   │   ├── local
│   │   │   ├── __init__.py
│   │   │   └── projectdb.py
│   │   ├── mongodb
│   │   │   ├── __init__.py
│   │   │   ├── mongodbbase.py
│   │   │   ├── projectdb.py
│   │   │   ├── resultdb.py
│   │   │   └── taskdb.py
│   │   ├── mysql
│   │   │   ├── __init__.py
│   │   │   ├── mysqlbase.py
│   │   │   ├── projectdb.py
│   │   │   ├── resultdb.py
│   │   │   └── taskdb.py
│   │   ├── redis
│   │   │   ├── __init__.py
│   │   │   └── taskdb.py
│   │   ├── sqlalchemy
│   │   │   ├── __init__.py
│   │   │   ├── projectdb.py
│   │   │   ├── resultdb.py
│   │   │   ├── sqlalchemybase.py
│   │   │   └── taskdb.py
│   │   └── sqlite
│   │       ├── __init__.py
│   │       ├── projectdb.py
│   │       ├── resultdb.py
│   │       ├── sqlitebase.py
│   │       └── taskdb.py
│   ├── fetcher
│   │   ├── __init__.py
│   │   ├── cookie_utils.py
│   │   ├── phantomjs_fetcher.js
│   │   ├── splash_fetcher.lua
│   │   └── tornado_fetcher.py
│   ├── libs
│   │   ├── ListIO.py
│   │   ├── __init__.py
│   │   ├── base_handler.py
│   │   ├── bench.py
│   │   ├── counter.py
│   │   ├── dataurl.py
│   │   ├── log.py
│   │   ├── multiprocessing_queue.py
│   │   ├── pprint.py
│   │   ├── response.py
│   │   ├── result_dump.py
│   │   ├── sample_handler.py
│   │   ├── url.py
│   │   ├── utils.py
│   │   └── wsgi_xmlrpc.py
│   ├── logging.conf
│   ├── message_queue
│   │   ├── __init__.py
│   │   ├── beanstalk.py
│   │   ├── kombu_queue.py
│   │   ├── rabbitmq.py
│   │   └── redis_queue.py
│   ├── processor
│   │   ├── __init__.py
│   │   ├── processor.py
│   │   └── project_module.py
│   ├── result
│   │   ├── __init__.py
│   │   └── result_worker.py
│   ├── run.py
│   ├── scheduler
│   │   ├── __init__.py
│   │   ├── scheduler.py
│   │   ├── task_queue.py
│   │   └── token_bucket.py
│   └── webui
│       ├── __init__.py
│       ├── app.py
│       ├── bench_test.py
│       ├── debug.py
│       ├── index.py
│       ├── login.py
│       ├── result.py
│       ├── static
│       │   ├── css_selector_helper.min.js
│       │   ├── debug.min.css
│       │   ├── debug.min.js
│       │   ├── index.min.css
│       │   ├── index.min.js
│       │   ├── package.json
│       │   ├── result.min.css
│       │   ├── result.min.js
│       │   ├── src
│       │   │   ├── css_selector_helper.js
│       │   │   ├── debug.js
│       │   │   ├── debug.less
│       │   │   ├── index.js
│       │   │   ├── index.less
│       │   │   ├── result.less
│       │   │   ├── splitter.js
│       │   │   ├── task.less
│       │   │   ├── tasks.less
│       │   │   └── variable.less
│       │   ├── task.min.css
│       │   ├── task.min.js
│       │   ├── tasks.min.css
│       │   ├── tasks.min.js
│       │   └── webpack.config.js
│       ├── task.py
│       ├── templates
│       │   ├── debug.html
│       │   ├── index.html
│       │   ├── result.html
│       │   ├── task.html
│       │   └── tasks.html
│       └── webdav.py
├── requirements.txt
├── run.py
├── setup.py
├── tests
│   ├── __init__.py
│   ├── data_fetcher_processor_handler.py
│   ├── data_handler.py
│   ├── data_sample_handler.py
│   ├── data_test_webpage.py
│   ├── test_base_handler.py
│   ├── test_bench.py
│   ├── test_counter.py
│   ├── test_database.py
│   ├── test_fetcher.py
│   ├── test_fetcher_processor.py
│   ├── test_message_queue.py
│   ├── test_processor.py
│   ├── test_response.py
│   ├── test_result_dump.py
│   ├── test_result_worker.py
│   ├── test_run.py
│   ├── test_scheduler.py
│   ├── test_task_queue.py
│   ├── test_utils.py
│   ├── test_webdav.py
│   ├── test_webui.py
│   └── test_xmlrpc.py
├── tools
│   └── migrate.py
└── tox.ini27 directories, 177 files

Python工程的文档结构相关推荐

  1. 【在工程Word文档的大量表格中自动插入图片的python程序】

    在工程Word文档的大量表格中自动插入图片的python程序 一.问题描述 在word的表格中插入图片代码 图形界面GUI设计 程序打包 一.问题描述 我的姐姐是一个工程技术公司的资料员,经常需要在w ...

  2. html格式文档结构保存数据库6,freeCAD文档结构

    一个freecad文档包含了你场景中的所有物体.它可以包含组及任何工作平台制造的物体.你可以切换工作台,但是它仍然工作在同一个文档上.当您保存您的工作时,该文件就被保存到磁盘上.你可以同时打开多个fr ...

  3. CSS Word的文档结构视图设计

    "文档结构视图"功能,可以通过jQuery的动画来模拟.该功能与Word保持一致,默认情况下,目录可见.当用户点击"文档结构视图"后,隐藏目录,再次点击后,显示 ...

  4. Python提取Word文档中所有超链接地址和文本

    使用Python扩展库python-docx操作Word文档的相关文章,可以阅读: Python批量导入图片到Word文件 Python查找Word文件中红色和加粗的文字(附元宵节送书活动中奖名单) ...

  5. python获取word页数_使用Python的word文档的页数(Number of pages of a word document with Python)...

    使用Python的word文档的页数(Number of pages of a word document with Python) 有没有办法用Python有效地获得word文档(.doc,.doc ...

  6. python - 官方简易文档篇(1)常用、函数

    Python Tutorial, 发布 3.8.4rc1 tutorial.pdf 刚总结完str的一些细节,其中还有很多关于类的自定义的因为没有接触过,所以还不知道如何去用,但是再菜鸟教程上看到一个 ...

  7. 数据导入与预处理-第4章-数据获取python读取pdf文档

    数据导入与预处理-第4章-数据获取Python读取PDF文档 1 PDF简介 1.1 pdf是什么 2 Python操作PDF 2.1 pdfplumber库 2.2 pdfplumber基本操作 2 ...

  8. python docx 合并文档 图片_MBT文档模型化生成工具——30倍效率文档撰写工程化方法...

    MBT(A model based document builder)文档模型化生成工具用户手册--30倍效率文档撰写工程化方法 1 简介 在软件工程领域,工程文档通常主要包括实施方案.需求分析.软件 ...

  9. HTML的简介、文档结构及基本标记

    HTML的简介 HTML是英文 HyperText Markup Language 的缩写,它的意思是"超文本标记语言",用它编写出文档的文件的扩展名是".html&qu ...

最新文章

  1. 在幕后看看Swift中的Map,Filter和Reduce的实现
  2. nodejs 运行linux命令,node.js执行shell命令
  3. luogu P1330 封锁阳光大学
  4. DeDE 后台登陆广告
  5. 下一个更大元素 leetcode-496
  6. [js] 对`a == (‘1‘||‘2‘||‘3‘) ? false : true`写法进行改进,写出你优化后的方法
  7. 剑指Offer - 面试题58 - II. 左旋转字符串
  8. 腾讯发布企鹅号“达人计划”清退公告 清退后当月结算将被取消
  9. 《编译原理》学习笔记 ·002【第二章:文法和语言(形式语言理论)-1】
  10. [leetcode]1131. 绝对值表达式的最大值 --绝对值表达式枚举拆分的方法
  11. linux下client命令,Linux系统smbclient命令的使用方法
  12. 用matlab画相频曲线_matlab 幅频特性 相频特性代码,图片
  13. 2021 编程语言排行榜
  14. 网络分析仪的校准和测试方法
  15. 3dMax 倒角剖面(中式亭子)
  16. Android音视频开发详解
  17. 百度地图根据经纬度获取该地点所在城市信息
  18. Security Best Practices+Klocwork
  19. linux 进程间切换,linux 进程管理 进程切换
  20. 阿德莱德大学计算机科学学士学分,留学360:阿德莱德大学软件工程计算机科学学士专业简析...

热门文章

  1. Errors occurred during the build. Errors running builder 'JavaScript Validator' on project 'XXX'.
  2. 简单描述ListView中使用GestureDetector冲突的解决办法
  3. 音乐处理---H_music.php
  4. 一个class运用promise的延时调用
  5. 小米AIoT开发者大会28日召开,雷军的AIoT和小米的这一年
  6. Emoji表情编解码库XXL-EMOJI
  7. TCP之三次握手四次挥手
  8. 网络安全体系 应用学习手册 下载
  9. JAVA class.getResource()的用法
  10. Android Input系统之触摸屏