最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python讀寫(xiě)TOML文件的示例代碼

 更新時(shí)間:2023年08月28日 16:24:40   作者:鯨落_  
TOML?文件表示(Tom's?Obvious,最小語(yǔ)言),它的語(yǔ)法主要由鍵=值對(duì)組成,本文主要為大家詳細(xì)介紹了如何使用Python讀寫(xiě)TOML文件,感興趣的小伙伴可以了解下

TOML 文件表示(Tom's Obvious,最小語(yǔ)言)。配置文件可以存儲(chǔ)在TOML 文件中,其擴(kuò)展名為 .toml。由于其語(yǔ)義簡(jiǎn)單,力求“最小化”,因此它應(yīng)該易于閱讀和編寫(xiě)。它還可以清楚地映射到字典。TOML 的語(yǔ)法主要由鍵=值對(duì)組成。這使得 TOML 旨在易于人們閱讀和創(chuàng)建,同時(shí)又易于計(jì)算機(jī)解析。此外,TOML 還可用作其他配置文件格式(例如JSON 和 YAML)的替代方案。

所需模塊:

通過(guò)在終端或命令提示符中執(zhí)行以下命令,我們可以使用 PIP 來(lái)安裝軟件包。

pip install toml

TOML 文件格式

鍵/值對(duì)、節(jié)/表和注釋構(gòu)成了 TOML 文件的大部分,這些文件也需要是有效的 UTF-8 編碼的 Unicode 文檔。TOML 支持以下數(shù)據(jù)類型:字符串、整數(shù)、浮點(diǎn)型、布爾型、日期時(shí)間、數(shù)組和表(哈希表/字典)。TOML 是區(qū)分大小寫(xiě)的語(yǔ)言。以下是 TOML 文件語(yǔ)法的簡(jiǎn)要概述:

  • 注釋以 # 字符開(kāi)始,一直到行尾。
  • 鍵值對(duì)表示為key = value并用換行符分隔。
  • 可以使用方括號(hào)嵌套鍵以創(chuàng)建節(jié)的層次結(jié)構(gòu),例如 [section1.subsection1] 。
  • 值可以是字符串(在引號(hào)中)、整數(shù)、浮點(diǎn)數(shù)、布爾值、日期/時(shí)間(采用 ISO 8601 格式)、數(shù)組(在方括號(hào)中)或表格(在花括號(hào)中)。
  • 數(shù)組可以包含任何類型的值,包括其他數(shù)組或表。
  • 表表示一組鍵值對(duì),可用于將相關(guān)的配置設(shè)置分組在一起。表可以有自己的部分,并且可以嵌套在其他表中。
  • 空白(空格、制表符和換行符)在 TOML 文件中很重要,應(yīng)一致使用以確保正確解析文件。

TOML 模塊的用例

  • 配置文件:TOML 通常用作 Python 應(yīng)用程序的配置文件格式。toml模塊可用于解析這些配置文件并將配置數(shù)據(jù)加載到應(yīng)用程序中。
  • 數(shù)據(jù)序列化:TOML可用于序列化和反序列化Python數(shù)據(jù)結(jié)構(gòu)。toml模塊提供了將 Python 字典與 TOML 數(shù)據(jù)相互轉(zhuǎn)換的方法。
  • 互操作性:TOML是一種跨語(yǔ)言格式,這意味著TOML數(shù)據(jù)可以在不同的編程語(yǔ)言之間輕松共享。toml模塊可用于將 Python 數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為 TOML,然后可以輕松地與其他語(yǔ)言共享。
  • 測(cè)試:  TOML可以用作測(cè)試夾具格式,允許開(kāi)發(fā)人員以TOML格式編寫(xiě)測(cè)試用例,并使用toml模塊在Python中加載和運(yùn)行測(cè)試用例。

目錄結(jié)構(gòu):

創(chuàng)建 TOML 文件

創(chuàng)建一個(gè) TOML 文件,復(fù)制粘貼以下文本,然后使用擴(kuò)展名 .toml 保存

[server]
host = "localhost"
port = 8080
ssl = false
[database]
url = "mongodb://localhost:27017"
name = "mydb"
username = "myuser"
password = "mypassword"
level = "info"

使用Python讀取TOML文件

toml.load() 方法讀取 TOML 文件的內(nèi)容并將解析后的數(shù)據(jù)作為 Python 字典返回。湯姆 . dumps() 方法將數(shù)據(jù)序列化回 TOML 格式并將其作為字符串返回。最后,使用print() 方法將序列化的 TOML 數(shù)據(jù)打印到控制臺(tái)。此代碼可用于讀取和修改存儲(chǔ)在 TOML 文件中的配置數(shù)據(jù),然后使用 toml.dump  () 方法將修改后的數(shù)據(jù)保存回文件中。

app.py

import toml
with open('config.toml', 'r') as f:
	config = toml.load(f)
# 從配置訪問(wèn)值
print(config['server']['host'])
print(config['server']['port'])
print(config['database']['username'])

輸出:

使用 Python 寫(xiě)入 TOML 文件

然后使用toml.load() 方法將文件的內(nèi)容解析到名為 config的字典中。然后,代碼通過(guò)在 'database' 鍵下添加新的鍵值對(duì)來(lái)修改 config 字典中的特定值。新的鍵為 'level2' ,值為'新添加的信息' 。最后,使用toml.dump()方法將修改后的 config字典寫(xiě)回到config.toml文件中,該方法將字典轉(zhuǎn)換為T(mén)OML格式并寫(xiě)入到文件中。文件以寫(xiě)模式打開(kāi),with語(yǔ)句確保寫(xiě)入后正確關(guān)閉。

輸出:

再次檢查 config.toml 文件

[server]
host = "localhost"
port = 8080
ssl = false
[database]
url = "mongodb://localhost:27017"
name = "mydb"
username = "myuser"
password = "mypassword"
level = "info"
level2 = "new added information"

使用Python修改TOML文件

代碼首先導(dǎo)入 toml 庫(kù),該庫(kù)提供了加載和轉(zhuǎn)儲(chǔ) TOML 文件的功能,使用 open () 函數(shù)打開(kāi)名為 config.toml 的 TOML 配置文件。該文件以讀取模式('r')打開(kāi),并使用 toml.load() 函數(shù)將其內(nèi)容加載到 Python 字典中。生成的字典稱為 config,包含 TOML 文件中的配置數(shù)據(jù)。然后,代碼通過(guò)將數(shù)據(jù)庫(kù)部分中的級(jí)別值更改為“信息”來(lái)修改配置字典中的值。

最后將修改后的config字典寫(xiě)回到 config.toml 中再次使用 open() 函數(shù)打開(kāi)文件,這次處于寫(xiě)入模式('w')。使用 toml.dump() 函數(shù)將修改后的字典寫(xiě)入文件,該函數(shù)將字典轉(zhuǎn)換為 TOML 格式的字符串并將其寫(xiě)入文件。

app.py

import toml
# 加載TOML文件
with open('config.toml', 'r') as f:
	config = toml.load(f)
# 修改配置中的值
config['database']['level'] = 'information'
# 將修改后的配置寫(xiě)回文件
with open('config.toml', 'w') as f:
	toml.dump(config, f)

輸出:

再次檢查 config.toml 文件以查看更改:

[server]
host = "localhost"
port = 8080
ssl = false
[database]
url = "mongodb://localhost:27017"
name = "mydb"
username = "myuser"
password = "mypassword"
level = "information" 

JSON 和 TOML 文件之間的區(qū)別

Toml 和 JSON 都可以有效地表示結(jié)構(gòu)化數(shù)據(jù),但是它們?cè)跀?shù)據(jù)類型、靈活性和語(yǔ)法方面有所不同。選擇的格式取決于您項(xiàng)目的具體需求以及您正在使用的工具和庫(kù)。

  • 語(yǔ)法:JSON 使用基于 JavaScript 對(duì)象表示法的語(yǔ)法,而 TOML 使用更易于理解的語(yǔ)法,更接近配置文件。
  • 注釋:TOML 支持注釋,而 JSON 不支持。
  • 數(shù)據(jù) 類型:JSON 支持一組有限的數(shù)據(jù)類型,包括字符串、數(shù)字、布爾值、數(shù)組和對(duì)象。另一方面,TOML 支持更廣泛的數(shù)據(jù)類型,包括日期、時(shí)間和表格。
  • 使用 案例:JSON 廣泛用于 Web 應(yīng)用程序、API 和數(shù)據(jù)庫(kù)之間的數(shù)據(jù)交換。TOML 通常用于配置文件,例如流行的靜態(tài)站點(diǎn)生成器 Hugo。

例子:

JSONTOML
{  “employee”: {    “name”: “John Doe”,    “age”: 35,    “gender”: “male”,    “address”: “123 Main St, Anytown USA”,    “hobbies”: [“reading”, “cooking”, “hiking”],    “skills”: {      “programming_languages”: [“Python”, “Java”, “C++”],      “databases”: [“MySQL”, “PostgreSQL”, “MongoDB”]    }  } }[employee] name = “John Doe” age = 35 gender = “male” address = “123 Main St, Anytown USA” hobbies = [“reading”, “cooking”, “hiking”][employee.skills] programming_languages = [“Python”, “Java”, “C++”] databases = [“MySQL”, “PostgreSQL”, “MongoDB”]

到此這篇關(guān)于Python讀寫(xiě)TOML文件的示例代碼的文章就介紹到這了,更多相關(guān)Python讀寫(xiě)TOML文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Django框架自定義session處理操作示例

    Django框架自定義session處理操作示例

    這篇文章主要介紹了Django框架自定義session處理操作,結(jié)合實(shí)例形式分析了Django框架session操作的原理以及基于session的登陸、驗(yàn)證等相關(guān)操作技巧,需要的朋友可以參考下
    2019-05-05
  • Python中的localtime()方法使用詳解

    Python中的localtime()方法使用詳解

    這篇文章主要介紹了Python中的localtime()方法使用詳解,是Python入門(mén)學(xué)習(xí)的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05
  • 對(duì)python Tkinter Text的用法詳解

    對(duì)python Tkinter Text的用法詳解

    今天小編就為大家分享一篇對(duì)python Tkinter Text的用法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • Pandas中g(shù)roupby+agg的兩種寫(xiě)法區(qū)別小結(jié)

    Pandas中g(shù)roupby+agg的兩種寫(xiě)法區(qū)別小結(jié)

    Pandas中g(shù)roupby+agg操作存在兩種常見(jiàn)寫(xiě)法,第一種會(huì)將分組字段轉(zhuǎn)為MultiIndex,導(dǎo)致后續(xù)處理困難,第二種通過(guò)as_index=False保持分組字段為普通列,更適用于工程場(chǎng)景,兩種寫(xiě)法核心區(qū)別在于索引類型、列名控制和擴(kuò)展性,下面就來(lái)詳細(xì)的介紹一下
    2026-01-01
  • Python使用cx_Oracle庫(kù)連接Oracle數(shù)據(jù)庫(kù)指南

    Python使用cx_Oracle庫(kù)連接Oracle數(shù)據(jù)庫(kù)指南

    這篇文章主要為大家介紹了Python使用cx_Oracle庫(kù)連接Oracle數(shù)據(jù)庫(kù)指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • PyTorch小功能之TensorDataset解讀

    PyTorch小功能之TensorDataset解讀

    這篇文章主要介紹了PyTorch小功能之TensorDataset解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Python中iter函數(shù)的具體使用

    Python中iter函數(shù)的具體使用

    Python中iter函數(shù)用于創(chuàng)建迭代器對(duì)象,可以遍歷可迭代對(duì)象的元素,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • Python3處理HTTP請(qǐng)求的實(shí)例

    Python3處理HTTP請(qǐng)求的實(shí)例

    今天小編就為大家分享一篇Python3處理HTTP請(qǐng)求的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • python算法深入理解風(fēng)控中的KS原理

    python算法深入理解風(fēng)控中的KS原理

    這篇文章主要為大家介紹了python算法深入理解風(fēng)控中的KS原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2021-11-11
  • python選取特定列 pandas iloc,loc,icol的使用詳解(列切片及行切片)

    python選取特定列 pandas iloc,loc,icol的使用詳解(列切片及行切片)

    今天小編就為大家分享一篇python選取特定列 pandas iloc,loc,icol的使用詳解(列切片及行切片),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08

最新評(píng)論

柳河县| 敦化市| 含山县| 临沧市| 霍邱县| 南通市| 邮箱| 青神县| 丹阳市| 民和| 孝感市| 河北省| 泌阳县| 申扎县| 阿拉善左旗| 迭部县| 晋江市| 凭祥市| 临沧市| 都兰县| 梅河口市| 腾冲县| 沽源县| 扶沟县| 天柱县| 自治县| 高碑店市| 武夷山市| 长垣县| 西峡县| 淄博市| 板桥市| 安图县| 宁晋县| 通道| 毕节市| 靖远县| 布尔津县| 长汀县| 民县| 郸城县|