【Fastapi】使用Toml作为配置文件格式

news2024/12/26 23:18:22

【Fastapi】使用Toml作为配置文件格式

  • gitee
  • github
  • toml介绍
  • 我为什么用 toml作为配置文件格式
  • 具体使用(没提到的请参考[官网](https://toml.io/cn/v1.0.0))
    • 文件格式
    • 代码中使用

gitee

https://gitee.com/zz1521145346/fastapi_frame.git

github

https://github.com/zz001357/fastapi_frame.git

toml介绍

全称:Tom 的(语义)明显、(配置)最小化的语言。(Tom’s Obvious, Minimal Language)
作者:Tom Preston-Werner、Pradyun Gedam 等人
(来自toml网站)

我为什么用 toml作为配置文件格式

原因有点
1.语义明显且易于阅读的最小化
2.能注释!!!这就非常关键了
3.在python生态系统里友好
4.我使用的是python 3.11,里面有个tomllib模块,是一个python标准库,便于读。但是,写如toml文件,暂时需要使用第三方的tomli_w(不过,也没什么人在代码里写配置文件吧哈哈哈哈哈)

具体使用(没提到的请参考官网)

文件格式

1.后缀以 .toml 结束,如下图
在这里插入图片描述
2.键值对形式, key(键) = value(值) 如下图
在这里插入图片描述
3.注释,使用 井号 # 注释,如下图
在这里插入图片描述

代码中使用

1.打开config.toml```,比如

def load_toml(config_dir):
    with open(config_dir, 'rb') as f:
        config = tomllib.load(f)
    return config

2.选择需要的配置 中括号里的名字,比如
config_dif是配置文件地址
mysql是需要读取的配置文件名,
db是键
配置文件如图
在这里插入图片描述

    mysql = load_toml(config_dir)['mysql']
    con = create_engine(mysql['db'])

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2107727.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从羊城杯docCrack学习恶意宏

前言 一道涉及恶意宏的逆向题目,不算难。 知识点 关于OLE文件 office文档(如.doc、.ppt、.xls等)其实都是复合文档(OLE),该文件格式全称为OLE复合文档格式,它允许多个数据流和存储在单个文件…

昂科烧录器支持ALLYSTAR华大北斗的GNSS芯片HD8020

芯片烧录行业领导者-昂科技术近日发布最新的烧录软件更新及新增支持的芯片型号列表,其中ALLYSTAR华大北斗的GNSS芯片HD8020已经被昂科的通用烧录平台AP8000所支持。 HD8020是一款能够实现单芯片解决方案,满足位置感知、物流运输等导航定位需求的SOC芯片…

java Abstract Queued Synchronizer

AbstractQueuedSynchronizer(简称 AQS)是 Java 中用于实现锁和同步器的一个基础框架,位于 java.util.concurrent.locks 包中。它提供了一种基于 FIFO(先进先出)队列的机制,帮助构建多线程之间的同步工具&am…

谈一谈MVCC

一 MVCC的定义 MVCC(Multi-Version Concurrency Control,多版本并发控制)是一种用于数据库管理系统(DBMS)中的并发控制方法,它允许数据库读写操作不加锁地并发执行,从而提高了数据库系统的并发性…

Redis主从和哨兵

目录 开启主从关系(两种) 数据同步原理 全量同步 增量同步 哨兵的作用和原理 服务状态监控 故障转移步骤 开启主从关系(两种) 修改配置文件(永久生效): 在redis.conf中添加一行配置&#…

从PDF到CAD:四大必备转换工具推荐!

无论是建筑设计师还是机械工程师,都面临着将旧图纸或扫描件转换成可编辑CAD文件的任务。这不仅是为了提高工作效率,更是为了适应数字化转型的大趋势。今天,我们就来探索几款高效且用户友好的解决方案! 福昕PDF转换大师&#xff0…

vue3 antdv3 TypeError: date1.isAfter is not a function的解决

1、先上个报错的图: 2、这个一看是因为date报错的问题,这里面用了TimeRangePicker. const TimeRangePicker TimePicker.TimeRangePicker; import dayjs, { Dayjs } from dayjs; let time1 [dayjs(dayjs(new Date()).format(YYYY-MM-DD) record.…

conda换源是什么?

换源对于我们在国内的python使用者来说是非常有必要的,之前讲了pip如何换源。 pip更换为国内镜像源的步骤,为什么要更换镜像源 那现在讲一下conda如何换源。 conda换源(清华源) 有时候,conda虽然和pip共用一个本地…

Stable Diffusion抠图插件爬坑经历,StableDiffusion实操案例(附整合资料)

今天给大家分享使用后期处理插件stable-diffusion-webui-rembg实现抠图功能。 👉AI绘画必备工具👈 温馨提示:篇幅有限,已打包文件夹,获取方式在:文末 👉AI绘画基础速成进阶使用教程&#x1f…

Synchronized、Reetrantlock

一、线程安全问题 多线程操作共享变量,由于该共享变量不是立刻可见的,读写不具备原子性,所以存在线程安全问题 二、售票案例 模拟售票案例,库存有10张票,有3个窗口(3个子线程)分别去卖,直到库存为0&#…

室内导航定位系统在医院的应用与部署

随着医疗技术的飞速发展,医院规模日益扩大,科室布局日趋复杂,患者及家属在寻找目标科室、病房或检查室时常常感到迷茫。为解决这一问题,室内导航定位系统应运而生,并逐渐成为现代医院智慧化建设的重要组成部分。接下来…

vue3 VueUse useElementVisibility 来监听某一个元素或者div是否在当前视口viewport中可见。

1、先上一个图&#xff1a; 2、安装vueuse/core pnpm add vueuse/core 3、新建一个组件&#xff1a; <script setup lang"ts"> import { ref, watch } from "vue"; import { useElementVisibility } from "vueuse/core";const target re…

AI短剧时代来临,用ai生成短剧的工具?AI文字生成短视频工具系统搭建开发,AI前景趋势怎么样?

前言&#xff1a; AI短剧是近期来随着人工智能技术的发展而兴起的一种新型影视内容形式。它利用AI技术&#xff0c;如AIGC&#xff08;生成式人工智能&#xff09;等&#xff0c;进行剧本创作、角色设计、场景构建、特效制作等&#xff0c;从而创作出全新的短剧作品。 一、AI…

Depop被封原因:IP禁令后如何重新创建账户?

Depop 是一个受欢迎的在线市场&#xff0c;帮助用户在全球范围内买卖服装、时尚物品和其他配饰。然而&#xff0c;与其他在线平台一样&#xff0c;Depop 有每个用户必须遵守的准则和规则&#xff0c;以确保市场安全公平。其中一条规则是&#xff0c;您不得拥有多个帐户&#xf…

免费分享:2020年全国道路网(分级)矢量数据

数据详情 全国道路网&#xff08;分级&#xff09;矢量数据 数据属性 数据名称&#xff1a;2020年全国道路网&#xff08;分级&#xff09;矢量数据 道路类型分类&#xff1a;高速、国道、省道、铁路、县道、乡道 道路级别&#xff1a;一级、二级、三级、四级 空间位置&am…

2024 年高教社杯全国大学生数学建模竞赛题目-B 题 生产过程中的决策问题

某企业生产某种畅销的电子产品&#xff0c;需要分别购买两种零配件&#xff08;零配件 1 和零配件 2&#xff09;&#xff0c; 在企业将两个零配件装配成成品。在装配的成品中&#xff0c;只要其中一个零配件不合格&#xff0c;则成品一 定不合格&#xff1b;如果两个零配件均合…

代码随想录 刷题记录-28 图论 (5)最短路径

一、dijkstra&#xff08;朴素版&#xff09;精讲 47. 参加科学大会 思路 本题就是求最短路&#xff0c;最短路是图论中的经典问题即&#xff1a;给出一个有向图&#xff0c;一个起点&#xff0c;一个终点&#xff0c;问起点到终点的最短路径。 接下来讲解最短路算法中的 d…

校园失物招领系统小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;发布人管理&#xff0c;物品类别管理&#xff0c;失物招领管理&#xff0c;寻物启事管理&#xff0c;认领认证管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统首页…

基于yolov8的西红柿缺陷检测系统python源码+onnx模型+评估指标曲线+精美GUI界面

【算法介绍】 基于YOLOv8的西红柿缺陷检测系统是一个利用深度学习技术的创新项目&#xff0c;旨在通过自动化和智能化的方式提高西红柿缺陷检测的准确性和效率。该系统利用YOLOv8目标检测算法&#xff0c;该算法以其高效性和准确性在目标检测领域表现出色。YOLOv8不仅继承了YO…

OpenSCAD 基础教程

OpenSCAD 基础教程 文章目录 OpenSCAD 基础教程1. 引言2. 安装与设置3. OpenSCAD 基本概念与语法3.1 基础形状3.2 变换操作3.4 布尔运算3.4 控制流3.5 特殊功能 4. 实践案例&#xff1a;创建一个简单的机械部件5. 高级技巧6. 导出与3D打印7. 常见问题与解决方案8. 结语 1. 引言…