Python configparser 模塊
該模塊適用于配置文件的格式與windows ini文件類似,可以包含一個或多個節(section),每個節可以有多個參數(鍵=值)。
創建文件
來看一個好多軟件的常見文檔格式如下:
[DEFAULT] ServerAliveInterval?=?45 Compression?=?yes CompressionLevel?=?9 ForwardX11?=?yes ?? [bitbucket.org] User?=?hg ?? [topsecret.server.com] Port?=?50022 ForwardX11?=?no
如果想用python生成一個這樣的文檔怎么做呢?
import?configparser config?=?configparser.ConfigParser() config["DEFAULT"]?=?{'ServerAliveInterval':?'45', ?????????????????????'Compression':?'yes', ?????????????????????'CompressionLevel':?'9', ?????????????????????'ForwardX11':?'yes' ?????????????????????} config['bitbucket.org']?=?{'User':?'hg'} config['topsecret.server.com']?=?{'Host?Port':?'50022',?'ForwardX11':?'no'} with?open("config.ini",?"w",?encoding="utf-8")?as?configfile: ????config.write(configfile) configfile.close()
結果:
[DEFAULT] serveraliveinterval?=?45 compression?=?yes compressionlevel?=?9 forwardx11?=?yes [bitbucket.org] user?=?hg [topsecret.server.com] host?port?=?50022 forwardx11?=?no
查找文件
import?configparser config?=?configparser.ConfigParser() #?---------------------------查找文件內容,基于字典的形式 print(config.sections()) config.read("config.ini") print(config.sections()) print("bytebong.com"?in?config) print("bitbucket.org"?in?config) print(config["bitbucket.org"]["user"]) print(config["DEFAULT"]["Compression"]) print(config["topsecret.server.com"]["Forwardx11"]) print(config["bitbucket.org"]) for?key?in?config:??#?注意,有default會默認default的鍵 ????print(key) print(config.options("bitbucket.org"))??#?同for循環,找到'bitbucket.org'下所有鍵 print(config.items("bitbucket.org"))??#?找到'bitbucket.org'下所有鍵值對 print(config.get("bitbucket.org",?'compression'))??#?get方法Section下的key對應的value
結果:
D:\YuchuanProjectData\PythonProject\venv\Scripts\python.exe?D:/YuchuanProjectData/PythonProject/YuchuanDemo010.py [] ['bitbucket.org',?'topsecret.server.com'] False True hg yes no
增刪改操作
import?configparser config?=?configparser.ConfigParser() config.read("config.ini") config.add_section("yuchuan") config.remove_section("bitbucket.org") config.remove_option("topsecret.server.com",?"forwardx11") config.set("topsecret.server.com",?"k2",?"22222") config.set("yuchuan",?"kk",?"666666") config.write(open("new.ini",?"w",?encoding="utf-8"))
結果:
[DEFAULT] serveraliveinterval?=?45 compression?=?yes compressionlevel?=?9 forwardx11?=?yes [topsecret.server.com] host?port?=?50022 k2?=?22222 [yuchuan] kk?=?666666
軟件開發 人工智能 機器學習 AI
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。