0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

详解Python项目推荐结构

python爬虫知识分享 来源:python爬虫知识分享 作者:python爬虫知识分享 2022-03-28 15:56 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在真正项目中,一般使用PyCharm或VSCode开发。那有的小伙伴就问了,项目文件目录有没有一个标准的结构?

应该没有唯一的统一标准,但Python社区大佬Kenneth Reitz在2013年提出一个Python项目目录结构,推荐你日后项目中参考。

Python项目推荐结构
Kenneth推荐目录结构,如下所示:

samplemod-master
├── LICENSE
├── MANIFEST.in
├── Makefile
├── README.rst
├── docs
│   ├── Makefile
│   ├── conf.py
│   ├── index.rst
│   └── make.bat
├── requirements.txt
├── sample
│   ├── __init__.py
│   ├── core.py
│   └── helpers.py
├── setup.py
└── tests
   ├── __init__.py
   ├── context.py
   ├── test_advanced.py
   └── test_basic.py
一共3个文件夹,17个文件。

先来看看第一个文件夹docs,它是项目相关文档,包括依赖包安装的Makefile和make.bat,项目配置conf.py,项目介绍文档index.rst,是比README.rst更细化的一个文档,README.rst更像一个项目总览。

第二个文件夹sample,在Python中一般叫做包(package),它是项目核心代码,一般会有多个这种包,__init__.py是Python包包括的文件。core.py和helpers.py是sample包里两个核心模块。

第三个包tests,是对应于sample包的单元测试包,里面的模块名称一般以test开头,测试sample里的每个模块。

setup.py是做什么的?
有了上面三个最主要的包外,文件最重要的有setup.py,这个文件是做什么的?

简单来说,setup.py是和打包相关的配置模块,一般结合setuptools。

有了setup.py,我们就可以安装包到本地全局环境,或者上传到PyPi,这样全世界开发者都有机会搜索到你的包,并使用pip安装上你的包。

里面代码相对比较标准和固定,比如在这个项目里代码如下:

from setuptools import setup, find_packages

with open('README.rst') as f:
   readme = f.read()
with open('LICENSE') as f:
   license = f.read()
setup(
   name='sample',
   version='0.1.0',
   description='Sample package for Python-Guide.org',
   long_description=readme,
   author='Kenneth Reitz',
   author_email='me@kennethreitz.com',
   url='https://github.com/kennethreitz/samplemod',
   license=license,
   packages=find_packages(exclude=('tests', 'docs'))
)

看到这里面用到README.rst和LICENSE文件,并且指定打哪些包分发出去。
审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 结构
    +关注

    关注

    1

    文章

    119

    浏览量

    22252
  • python
    +关注

    关注

    57

    文章

    4860

    浏览量

    89651
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    淘宝商品详情接口(item_get)企业级全解析:参数配置、签名机制与 Python 代码实战

    本文详解淘宝开放平台taobao.item_get接口对接全流程,涵盖参数配置、MD5签名生成、Python企业级代码实现及高频问题排查,提供可落地的实战方案,助你高效稳定获取商品数据。
    的头像 发表于 09-26 09:13 491次阅读
    淘宝商品详情接口(item_get)企业级全解析:参数配置、签名机制与 <b class='flag-5'>Python</b> 代码实战

    python app不能运行怎么解决?

    ;python_agent[1241]: xmlrpc request method supervisor.stopProcess failed;python_agent[1241]: xmlrpc request method supervisor.stopProces
    发表于 08-06 06:27

    景旺电子泰国项目主体结构顺利封顶

    近日,随着最后一块顶板混凝土完成浇筑,景旺电子(泰国)有限公司项目(后文简称“项目”)主体结构顺利封顶。这一进展标志着该项目自此迈入设备安装与投产筹备的新阶段,为景旺电子深化国际化战略
    的头像 发表于 07-30 16:32 984次阅读

    C++ 与 Python:树莓派上哪种语言更优?

    Python是树莓派上的首选编程语言,我们的大部分教程都使用它。然而,C++在物联网项目中同样广受欢迎且功能强大。那么,在树莓派项目中选择哪种语言更合适呢?Python因其简洁性、丰富
    的头像 发表于 07-24 15:32 674次阅读
    C++ 与 <b class='flag-5'>Python</b>:树莓派上哪种语言更优?

    STM32项目分享:智能鱼缸/水族箱/水产养殖系统

    01—项目简介1.功能详解STM32智能鱼缸/水族箱/水产养殖系统功能如下:可检测温度,水位
    的头像 发表于 07-03 18:24 801次阅读
    STM32<b class='flag-5'>项目</b>分享:智能鱼缸/水族箱/水产养殖系统

    基础篇3:掌握Python中的条件语句与循环

    Python编程语言中,条件语句和循环是构成复杂逻辑和数据处理的基石。本篇基础教程将帮助您深入了解Python中的条件语句和循环结构,让您能够更好地控制程序流程。 条件语句 条件语句允许程序根据
    发表于 07-03 16:13

    STM32项目分享:智能鞋柜

    01—项目简介1.功能详解STM32智能鞋柜功能如下:DHT11检测鞋柜温湿度,温度低于阈值开启加热,湿度高于阈值开启加热和通风;P
    的头像 发表于 05-27 18:04 729次阅读
    STM32<b class='flag-5'>项目</b>分享:智能鞋柜

    python入门圣经-高清电子书(建议下载)

    和Pygal 等强大的Python 库和工具介绍,以及列表、字典、if 语句、类、文件与异常、代码测试等内容; 第二部分将理论付诸实践,讲解如何开发三个项目,包括简单的Python 2D 游戏开发如何利用数据
    发表于 04-10 16:53

    零基础入门:如何在树莓派上编写和运行Python程序?

    在这篇文章中,我将为你简要介绍Python程序是什么、Python程序可以用来做什么,以及如何在RaspberryPi上编写和运行一个简单的Python程序。什么是Python程序?
    的头像 发表于 03-25 09:27 1580次阅读
    零基础入门:如何在树莓派上编写和运行<b class='flag-5'>Python</b>程序?

    在线监测管理系统的智能化功能详解 多角色权限与多项目管理 多终端适配

    在线监测管理系统的智能化功能详解 多角色权限与多项目管理 多终端适配 在线监测管理系统采用基于BS架构设计,用户可通过浏览器实现项目管理、数据查看与下载、曲线分析等操作。系统界面设计遵循简约统一
    的头像 发表于 03-19 17:18 626次阅读

    NucleiStudio编译没报错但是项目结构中有错,为什么?

    想请教一下各位大佬为什么这个软件在Project Explorer页面明明显示有错误,但点击左上角的build按钮却不报错呢,不太理解这个项目结构啊。。。是某部分没有include目录吗?项目
    发表于 03-07 15:29

    Python绘图Matplotlib快速参考手册

     PYTHON
    发表于 02-07 14:04 0次下载

    使用Python实现xgboost教程

    使用Python实现XGBoost模型通常涉及以下几个步骤:数据准备、模型训练、模型评估和模型预测。以下是一个详细的教程,指导你如何在Python中使用XGBoost。 1. 安装XGBoost
    的头像 发表于 01-19 11:21 2257次阅读

    Triton编译器安装步骤详解

    :用于构建项目Python :用于运行 Triton 的 Python 绑定。 其他依赖 :根据您选择的架构,可能需要额外的依赖。 2. 安装依赖 对于 Linux: 打开终端并运行以下命令来安
    的头像 发表于 12-24 17:35 4675次阅读

    STM32项目分享:机智云智慧农业系统

    01—项目简介1.功能详解基于STM32的机智云智慧农业系统。功能如下:温湿度采集:使用DHT11温湿度传感器采集环境温湿度土壤湿度
    的头像 发表于 12-19 18:40 1933次阅读
    STM32<b class='flag-5'>项目</b>分享:机智云智慧农业系统