前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[1262]python toml文件

[1262]python toml文件

作者头像
周小董
发布2024-01-21 10:37:53
1090
发布2024-01-21 10:37:53
举报
文章被收录于专栏:python前行者python前行者

toml简介

官方网站:https://toml.io/cn/

Toml (Tom’s Obvious, Minimal Language) 是一种简单、易于阅读和编写的配置文件格式。它被广泛用于存储和加载应用程序的配置信息。Toml文件的简洁,类似于INI文件,但具有更强大的功能和更好的可读性。

无论是json、ini、xml、py、yaml、properties还是toml这些类型的文件也好,它们有一个统一的称呼为文本文件,只需要去修改文件后缀就可以来改变文件类型和格式。

Toml配置文件的基本语法如下:

  1. 键值对:使用等号(=)来分隔键和值。
  2. 表:使用方括号([])来定义一个表,表名位于方括号内。
  3. 注释:使用井号(#)来添加注释,注释可以出现在行的任何位置。

下面是一个简单的Toml配置文件的示例:

代码语言:javascript
复制
# 这是一个Toml配置文件示例
[database]
host = "localhost"
port = 5432
username = "admin"
password = "password"

在上面的示例中,我们定义了一个名为"database"的表,并在其中设置了一些键值对,包括主机名、端口号、用户名和密码。

那么在python项目文件夹之中创建一个空文件并且将其后缀名该toml即可,然后就来编写配置文件内容,示例如下:

代码语言:javascript
复制
[mysql]
database = "test"
    [mysql.parameters]
    charset   = "utf8"
    [mysql.fields]
    pandas_cols = [ "id", "name", "age", "date"]

python读取toml文件

代码语言:javascript
复制
pip install toml

那么在python程序中读取它需要先使用内置模块os来获取到这个文件所在路径,然后再调用load()方法来将其读取并解析,最后使用pprint()方法把读取到的toml配置文件内容打印输出,详细代码示例如下:

代码语言:javascript
复制
import toml
import os
from pprint import pprint

cfg = toml.load(os.path.expanduser("~/config.toml"))
pprint(cfg)

规范

  • TOML是大小写敏感的
  • TOML文件必须是UTF8编码的
  • 空白符可以是制表符(0x09)或空格(0x20)
  • 换行符可以是 LF (0x0A) 或 CRLF (0x0D0A)

TOML仍在不断完善,目前的版本0.4.0,下面是最新的规范。

注释

使用#来表示注释开始,至当前行尾结束。

代码语言:javascript
复制
# I am a comment. Hear me roar. Roar.
key = "value" # Yeah, you can do this.

使用样例

代码语言:javascript
复制
import toml
 
config = """
title = "toml 小栗子"
 
[owner]
name = "古明地觉"
age = 17
place = "东方地灵殿"
nickname = ["小五", "少女觉", "觉大人"]
 
[database]
host = "127.0.0.1"
port = 5432
username = "satori"
password = "123456"
echo = true
 
[server]
    [server.v1]
    api = "1.1"
    enable = false
     
    [server.v2]
    api = "1.2"
    enable = true
 
[client]
client = [
    ["socket", "webservice"], 
    [5555]
]
address = [
    "xxxx",
    "yyyy"
]
"""
 
# loads:从字符串加载
# load:从文件加载
# dumps:生成 toml 格式字符串
# dump:生成 toml 格式字符串并写入文件中
data = toml.loads(config)
print(data)
"""
{
    'title': 'toml 小栗子', 
    'owner': {'name': '古明地觉', 
              'age': 17, 
              'place': '东方地灵殿', 
              'nickname': ['小五', '少女觉', '觉大人']},
    'database': {'host': '127.0.0.1', 
                 'port': 5432,
                 'username': 'satori', 
                 'password': '123456', 
                 'echo': True},
    'server': {'v1': {'api': '1.1', 'enable': False}, 
               'v2': {'api': '1.2', 'enable': True}},
    'client': {'client': [['socket', 'webservice'], [5555]], 
               'address': ['xxxx', 'yyyy']}
}
"""
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-01-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • toml简介
  • python读取toml文件
  • 规范
  • 注释
  • 使用样例
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档