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