Python configparser模塊應(yīng)用過程解析
一、configparser模塊是什么
可以用來操作后綴為 .ini 的配置文件;
python標(biāo)準(zhǔn)庫(就是python自帶的意思,無需安裝)
二、configparser模塊基本使用
2.1 讀取 ini 配置文件
#存在 config.ini 配置文件,內(nèi)容如下: [DEFAULT] excel_path = ../test_cases/case_data.xlsx log_path = ../logs/test.log log_level = 1 [email] user_name = 32@qq.com password = 123456
使用configparser模塊讀取配置文件
import configparser #創(chuàng)建配置文件對(duì)象 conf = configparser.ConfigParser() #讀取配置文件 conf.read('config.ini', encoding="utf-8") #列表方式返回配置文件所有的section print( conf.sections() ) #結(jié)果:['default', 'email'] #列表方式返回配置文件email 這個(gè)section下的所有鍵名稱 print( conf.options('email') ) #結(jié)果:['user_name', 'password'] #以[(),()]格式返回 email 這個(gè)section下的所有鍵值對(duì) print( conf.items('email') ) #結(jié)果:[('user_name', '32@qq.com'), ('password', '123456')] #使用get方法獲取配置文件具體的值,get方法:參數(shù)1-->section(節(jié)) 參數(shù)2-->key(鍵名) value = conf.get('default', 'excel_path') print(value)
2.2 寫入 ini 配置文件(字典形式)
import configparser #創(chuàng)建配置文件對(duì)象 conf = configparser.ConfigParser() #'DEFAULT'為section的名稱,值中的字典為section下的鍵值對(duì) conf["DEFAULT"] = {'excel_path' : '../test_cases/case_data.xlsx' , 'log_path' : '../logs/test.log'} conf["email"] = {'user_name':'32@qq.com','password':'123456'} #把設(shè)置的conf對(duì)象內(nèi)容寫入config.ini文件 with open('config.ini', 'w') as configfile: conf.write(configfile)
2.3 寫入 ini 配置文件(方法形式)
import configparser #創(chuàng)建配置文件對(duì)象 conf = configparser.ConfigParser() #讀取配置文件 conf.read('config.ini', encoding="utf-8") #在conf對(duì)象中新增section conf.add_section('webserver') #在section對(duì)象中新增鍵值對(duì) conf.set('webserver','ip','127.0.0.1') conf.set('webserver','port','80') #修改'DEFAULT'中鍵為'log_path'的值,如沒有該鍵,則新建 conf.set('DEFAULT','log_path','test.log') #刪除指定section conf.remove_section('email') #刪除指定鍵值對(duì) conf.remove_option('DEFAULT','excel_path') #寫入config.ini文件 with open('config.ini', 'w') as f: conf.write(f)
上述3個(gè)例子基本闡述了configparser模塊的核心功能項(xiàng);
- 例1中,encoding="utf-8"為了放置讀取的適合中文亂碼;
- 例2你可以理解為在字典中新增數(shù)據(jù),鍵:配置文件的section,字符串格式;值:section的鍵值對(duì),字典格式;
- 例3中在使用add_section方法時(shí),如果配置文件存在section,則會(huì)報(bào)錯(cuò);而set方法在使用時(shí),有則修改,無則新建。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python的Flask框架及Nginx實(shí)現(xiàn)靜態(tài)文件訪問限制功能
這篇文章主要介紹了Python的Flask框架及Nginx實(shí)現(xiàn)靜態(tài)文件訪問限制功能,Nginx方面利用到了自帶的XSendfile,需要的朋友可以參考下2016-06-06Tensorflow中tf.ConfigProto()的用法詳解
今天小編就為大家分享一篇Tensorflow中tf.ConfigProto()的用法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-02-02Python使用sqlite3模塊內(nèi)置數(shù)據(jù)庫
這篇文章主要介紹了Python使用sqlite3模塊內(nèi)置數(shù)據(jù)庫,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05對(duì)Python中創(chuàng)建進(jìn)程的兩種方式以及進(jìn)程池詳解
今天小編就為大家分享一篇對(duì)Python中創(chuàng)建進(jìn)程的兩種方式以及進(jìn)程池詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-01-01