Python中ini配置文件讀寫的實(shí)現(xiàn)
導(dǎo)入模塊
import configparser # py3
寫入
config = configparser.ConfigParser() config["DEFAULT"] = { ? ? 'ServerAliveInterval': '45', ? ? 'Compression': 'yes', ? ? 'CompressionLevel': '9' ? ? } config['bitbucket.org'] = {} config['bitbucket.org']['User'] = 'hg' config['topsecret.server.com'] = {} topsecret = config['topsecret.server.com'] topsecret['Host Port'] = '50022' ?# mutates the parser topsecret['ForwardX11'] = 'no' ?# same here config['DEFAULT']['ForwardX11'] = 'yes' # 寫入文件 with open('example.ini', 'w') as configfile: ? ? config.write(configfile)
讀取
config = configparser.ConfigParser() config.read("example.ini") print(config.defaults()) # OrderedDict([('compression', 'yes')]) print(config.sections()) # ['bitbucket.org', 'topsecret.server.com'] print(config['bitbucket.org']['User']) # hg print(config.options("topsecret.server.com")) # ['port', 'compression'] print(config.items("topsecret.server.com")) # [('compression', 'yes'), ('port', '50022')] print(config.get("topsecret.server.com", "port")) # 50022
修改
print(config.has_section("Name")) # 刪除 config.remove_section("Name") # 添加 config.add_section("Name") config["Name"]["name"] = "Tom" config["Name"]["asname"] = "Jimi" # 設(shè)置 config.remove_option("Name", "asname") config.set("Name", "name", "Jack") # 保存 config.write(open("example.ini", "w"))
附:ini文件
[DEFAULT] serveraliveinterval = 45 compression = yes compressionlevel = 9 forwardx11 = yes [bitbucket.org] user = hg [topsecret.server.com] host port = 50022 forwardx11 = no
help(configparser)
""" CLASSES ? ? class ConfigParser(RawConfigParser) ? ? ?| ?ConfigParser implementing interpolation. ? ? ?| ? ? ? ?| ?add_section(self, section) ? ? ?| ? ? ?Create a new section in the configuration. ?Extends ? ? ?| ? ? ?RawConfigParser.add_section by validating if the section name is ? ? ?| ? ? ?a string. ? ? ?| ? ? ? ?| ?set(self, section, option, value=None) ? ? ?| ? ? ?Set an option. ?Extends RawConfigParser.set by validating type and ? ? ?| ? ? ?interpolation syntax on the value. ? ? ?| ? ? ? ?| ?defaults(self) ? ? ?| ? ? ? ?| ?get(self, section, option, *, raw=False, vars=None, fallback=<object object at 0x0000000002F42120>) ? ? ?| ? ? ?Get an option value for a given section. ? ? ?| ? ? ? ?| ?getboolean(self, section, option, *, raw=False, vars=None, fallback=<object object at 0x0000000002F42120>) ? ? ?| ? ? ? ?| ?getfloat(self, section, option, *, raw=False, vars=None, fallback=<object object at 0x0000000002F42120>) ? ? ?| ? ? ? ?| ?getint(self, section, option, *, raw=False, vars=None, fallback=<object object at 0x0000000002F42120>) ? ? ?| ? ? ? ?| ?has_option(self, section, option) ? ? ?| ? ? ?Check for the existence of a given option in a given section. ? ? ?| ? ? ?If the specified `section' is None or an empty string, DEFAULT is ? ? ?| ? ? ?assumed. If the specified `section' does not exist, returns False. ? ? ?| ? ? ? ?| ?has_section(self, section) ? ? ?| ? ? ?Indicate whether the named section is present in the configuration. ? ? ?| ?items(self, section=<object object at 0x0000000002F42120>, raw=False, vars=None) ? ? ?| ? ? ?Return a list of (name, value) tuples for each option in a section. ? ? ?| ? ? ? ?| ?options(self, section) ? ? ?| ? ? ?Return a list of option names for the given section name. ? ? ?| ?popitem(self) ? ? ?| ? ? ?Remove a section from the parser and return it as ? ? ?| ?read(self, filenames, encoding=None) ? ? ?| ? ? ?Read and parse a filename or a list of filenames. ? ? ?| ? ? ?Return list of successfully read files. ? ? ?| ? ? ? ?| ?read_dict(self, dictionary, source='<dict>') ? ? ?| ? ? ?Read configuration from a dictionary. ? ? ?| ? ? ? ?| ?read_file(self, f, source=None) ? ? ?| ? ? ?Like read() but the argument must be a file-like object. ? ? ?| ? ? ? ? ? ?| ?read_string(self, string, source='<string>') ? ? ?| ? ? ?Read configuration from a given string. ? ? ?| ? ? ? ?| ?readfp(self, fp, filename=None) ? ? ?| ? ? ?Deprecated, use read_file instead. ? ? ?| ? ? ? ?| ?remove_option(self, section, option) ? ? ?| ? ? ?Remove an option. ? ? ?| ? ? ? ?| ?remove_section(self, section) ? ? ?| ? ? ?Remove a file section. ? ? ?| ? ? ? ?| ?sections(self) ? ? ?| ? ? ?Return a list of section names, excluding [DEFAULT] ? ? ?| ? ? ? ?| ?write(self, fp, space_around_delimiters=True) ? ? ?| ? ? ?Write an .ini-format representation of the configuration state. ? ? ?| ? ? ? ?| ?clear(self) ? ? ?| ? ? ?D.clear() -> None. ?Remove all items from D. ? ? ?| ? ? ? ?| ?pop(self, key, default=<object object at 0x0000000002F42040>) ? ? ?| ? ? ?D.pop(k[,d]) -> v, remove specified key and return the corresponding value. ? ? ?| ? ? ?If key is not found, d is returned if given, otherwise KeyError is raised. ? ? ?| ? ? ? ?| ?setdefault(self, key, default=None) ? ? ?| ? ? ?D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D ? ? ?| ? ? ? ?| ?update(*args, **kwds) ? ? ?| ? ? ?D.update([E, ]**F) -> None. ?Update D from mapping/iterable E and F. ? ? ?| ? ? ?If E present and has a .keys() method, does: ? ? for k in E: D[k] = E[k] ? ? ?| ? ? ?If E present and lacks .keys() method, does: ? ? for (k, v) in E: D[k] = v ? ? ?| ? ? ?In either case, this is followed by: for k, v in F.items(): D[k] = v ? ? ?| ? ? ? ?| ?keys(self) ? ? ?| ? ? ?D.keys() -> a set-like object providing a view on D's keys ? ? ?| ? ? ? ?| ?values(self) ? ? ?| ? ? ?D.values() -> an object providing a view on D's values ? ? ?| ? """
到此這篇關(guān)于Python中ini配置文件讀寫的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Python ini文件讀寫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)將數(shù)據(jù)寫入netCDF4中的方法示例
這篇文章主要介紹了Python實(shí)現(xiàn)將數(shù)據(jù)寫入netCDF4中的方法,涉及Python數(shù)據(jù)處理與文件讀寫相關(guān)操作技巧,需要的朋友可以參考下2018-08-08python中Matplotlib實(shí)現(xiàn)繪制3D圖的示例代碼
本篇文章主要介紹了python中Matplotlib實(shí)現(xiàn)繪制3D圖的示例代碼,具有一定的參考價(jià)值,有興趣的可以了解一下2017-09-09python實(shí)現(xiàn)excel和csv中的vlookup函數(shù)示例代碼
這篇文章主要介紹了python實(shí)現(xiàn)excel和csv中的vlookup函數(shù),介紹如何使用python在excel和csv里實(shí)現(xiàn)vlookup函數(shù)的功能,首先需要簡單了解一下python如何操作excel,需要的朋友可以參考下2023-01-01Python標(biāo)準(zhǔn)庫之?dāng)?shù)據(jù)庫 sqlite3
這篇文章主要介紹了Python標(biāo)準(zhǔn)庫的數(shù)據(jù)庫 sqlite3的相關(guān)資料,SQLite是一個(gè)輕量級、跨平臺的關(guān)系型數(shù)據(jù)庫。它的核心引擎本身不依賴第三方的軟件,使用它也不需要“安裝”。下面文字將對其簡單介紹,需要的小伙伴可以參考下面文章內(nèi)容2021-09-09純python實(shí)現(xiàn)機(jī)器學(xué)習(xí)之kNN算法示例
本篇文章主要介紹了純python實(shí)現(xiàn)機(jī)器學(xué)習(xí)之kNN算法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-03-03Python使用os模塊實(shí)現(xiàn)更高效地讀寫文件
os是python標(biāo)準(zhǔn)庫,包含幾百個(gè)函數(shù)常用路徑操作、進(jìn)程管理、環(huán)境參數(shù)等好多類。本文將使用os模塊實(shí)現(xiàn)更高效地讀寫文件,感興趣的可以學(xué)習(xí)一下2022-07-07使用Python實(shí)現(xiàn)全攝像頭拍照與鍵盤輸入監(jiān)聽功能
這篇文章主要介紹了使用Python實(shí)現(xiàn)全攝像頭拍照與鍵盤輸入監(jiān)聽功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-08-08解決Keyerror ''''acc'''' KeyError: ''''val_acc''''問題
這篇文章主要介紹了解決Keyerror 'acc' KeyError: 'val_acc'問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06Python3調(diào)用微信企業(yè)號API發(fā)送文本消息代碼示例
這篇文章主要介紹了Python3調(diào)用微信企業(yè)號API發(fā)送文本消息代碼示例,具有一定參考價(jià)值,需要的朋友可以了解下。2017-11-11基于python實(shí)現(xiàn)操作redis及消息隊(duì)列
這篇文章主要介紹了基于python操作redis及消息隊(duì)列,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08