python使用?toml的實(shí)現(xiàn)
從 Python 3.11 開始,標(biāo)準(zhǔn)庫引入了一個名為 tomllib 的模塊,但請注意,這僅是用于解析 TOML 文件的功能,并且最初只包含了讀?。ń馕觯㏕OML 數(shù)據(jù)的能力,而不包括生成 TOML 數(shù)據(jù)的功能,使用時需要 import tomllib,with open('config.toml', 'br') as f: 注意需要二進(jìn)制讀取
如果你需要不僅限于解析還包括生成 TOML 文件的能力,或者你正在使用的 Python 版本低于 3.11,那么你仍然需要依賴第三方庫如 toml。該庫提供了全面的支持,包括解析和生成 TOML 文件,使用時需要 import toml,with open('config.toml', 'r') as f: 進(jìn)行讀取
1. 為什么要使用配置文件,而不是直接使用 python 文件進(jìn)行配置
主要是出于安全考慮,如果使用 python 直接配置,在 import 的時候是會執(zhí)行代碼的,會有安全風(fēng)險。配置文件是文本文件,與代碼剝離,修改文件不會產(chǎn)生風(fēng)險。
靈活性,可維護(hù)性,如果給別人的是二進(jìn)制文件,又是用 python 文件進(jìn)行配置,別人就沒法修改配置了,與代碼剝離,更加靈活。
使用配置文件,不會與環(huán)境,編程語言進(jìn)行綁定,更加靈活,可移植,復(fù)用,方便使用和維護(hù),不同的編程語言可以共享一份配置文件了。
主要功能
- 解析:toml.load() 方法可以從文件加載并解析 TOML 數(shù)據(jù)到 Python 字典
toml.loads() 方法可以從字符串加載并解析 TOML 數(shù)據(jù)到 Python 字典。
- 生成:toml.dump() 可以將 Python 字典轉(zhuǎn)換為 TOML 格式,寫入到文件。
toml.dumps() 可以將 Python 字典轉(zhuǎn)換為 TOML 格式的字符串。
解析完后得到的是python的字典,可以用字典的方法進(jìn)行修改,更新,然后輸出到新的文件
例:
import toml
from pprint import pp
# 讀取原始的 TOML 文件
with open("config.toml", "r") as f:
config = toml.load(f)
# 打印原始內(nèi)容
pp("Original Configuration:")
pp(toml.dumps(config))
pp(config)
# 更新一些值
config['name'] = 'newname'
config['title'] = "Updated TOML Example"
# 將更新后的配置寫入新的 TOML 文件
with open("new_config.toml", "w") as f:
toml.dump(config, f)
# comment use "#", config.toml name = 'hahaname' age = 23 sex = "femule\"" hobbies = ['reading', 'writeing'] birtime = 2021-01-01T00:00:00Z
new_config.toml
name = "newname" age = 23 sex = "femule\"" hobbies = [ "reading", "writeing",] birtime = 2021-01-01T00:00:00Z title = "Updated TOML Example"
到此這篇關(guān)于python使用 toml的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)python使用 toml內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Tornado 多進(jìn)程實(shí)現(xiàn)分析詳解
這篇文章主要介紹了Tornado 多進(jìn)程實(shí)現(xiàn)分析詳解,具有一定借鑒價值,需要的朋友可以參考下2018-01-01
Pytorch的mean和std調(diào)查實(shí)例
今天小編就為大家分享一篇Pytorch的mean和std調(diào)查實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01
Python實(shí)現(xiàn)圖像手繪效果的方法詳解
這篇文章主要為大家詳細(xì)介紹了如何利用Python語言實(shí)現(xiàn)圖像手繪效果,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,需要的可以參考一下2022-09-09
Python 實(shí)現(xiàn)任意區(qū)域文字識別(OCR)操作
這篇文章主要介紹了Python 實(shí)現(xiàn)任意區(qū)域文字識別(OCR)操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03
Python中的 sort 和 sorted的用法與區(qū)別
這篇文章主要介紹了Python中的 sort 和 sorted的用法與區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-08-08

