python怎麼讀取配置檔案
configparser模組在python中用來讀取配置檔案,配置檔案的格式跟windows下的ini配置檔案相似,可以包含一個或多個節點(section), 每個節可以有多個引數(鍵=值)。使用的配置檔案的好處就是不用把程式寫死,可以使程式更靈活。
1、建立配置檔案
一般將配置檔案建立在config包下,配置檔案最好使用.ini格式,示例如下:
[LoginElement] #節點(section) user_name=id>logInName #其中id決定了透過哪種方式進行定位 user_password=id>password code_image=id>verifyCode code_text=id>verifyCodeInput submit=id>submitForm [mysql] #節點(section) host=id>127.0.0.1 port=id>3306 user=id>root password=id>123456
2、讀取配置檔案
cf=configparser.ConfigParser() #建立物件 cf.read('D:liantuoseleniumTestconfigLocalElement.ini',encoding='UTF-8') #讀取配置檔案,直接讀取ini檔案內容 print(cf.sections()) #獲取ini檔案內所有的section(節點),以列表形式返回 print(cf.options("LoginElement")) #獲取指定sections下所有options (key),以列表形式返回 print(cf.items('LoginElement')) #獲取指定section下所有的鍵值對(key-value) print(cf.get('LoginElement','user_name')) #獲取section中option的值,返回為string型別 getint(section,option) #返回int型別 getfloat(section, option) #返回float型別 getboolean(section,option) #返回boolen型別
*注意:讀取配置檔案時引數新增encoding='UTF-8' ,防止(UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 15: illegal multibyte sequence)
對應輸出
['LoginElement', 'mysql'] ['user_name', 'user_password', 'code_image', 'code_text', 'submit'] [('user_name', 'id>logInName'), ('user_password', 'id>password'), ('code_image', 'id>verifyCode'), ('code_text', 'id>verifyCodeInput'), ('submit', 'id>submitForm')] id>logInName
3、重構封裝
class ReadIni(object): # 建構函式 def __init__(self,file_name=None,node=None): ''' :param file_name:配置檔案地址 :param node: 節點名 ''' #容錯處理 if file_name == None: #預設地址 file_name = 'D:liantuoseleniumTestconfigLocalElement.ini' else: self.file_name=file_name if node == None: #預設節點 self.node = "LoginElement" else: self.node = node self.cf = self.load_ini(file_name) #載入檔案 def load_ini(self,file_name): cf = configparser.ConfigParser() cf.read(file_name,encoding='utf-8') return cf #獲取value得值 def get_value(self,key): data = self.cf.get(self.node,key) return data #主入口,相當於java的main方法 if __name__ == '__main__': #自定義 # path=r'E:PythonxseleniumTestconfigtestIni.ini' #注意r # read_init = ReadIni(file_name=path,node='testa') #傳入新自定義配置檔案地址、節點 # print(read_init.get_value('ji')) #獲取value值 #預設 read_init = ReadIni() #預設配置檔案地址、節點 print(read_init.get_value('user_name')) #傳入key值,獲取value
python學習網,免費的線上學習,歡迎關注!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1600/viewspace-2834974/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- pyinstaller 打包後讀取 ini 配置檔案路徑錯誤,怎麼定位配置檔案
- 透過python讀取ini配置檔案Python
- 如何在python中讀取配置檔案Python
- python讀取yaml配置檔案的方法PythonYAML
- 怎麼利用js讀取txt檔案JS
- viper 讀取配置檔案
- go配置檔案讀取Go
- IOC - 讀取配置檔案
- python讀取檔案——python讀取和儲存mat檔案Python
- java中讀取配置檔案Java
- go 讀取.ini配置檔案Go
- Python讀取修改ini配置檔案[ConfigParser]Python
- python讀配置檔案配置資訊Python
- Golang專案中讀取配置檔案Golang
- python小白檔案讀取Python
- python讀取大檔案Python
- python 讀取csv檔案Python
- 【python】建立,讀取檔案Python
- python 讀取文字檔案Python
- shell讀取配置檔案-sed命令
- springboot讀取配置檔案Spring Boot
- java中讀取.properties配置檔案Java
- C#讀取ini配置檔案C#
- python檔案無法讀寫怎麼辦Python
- python如何讀取大檔案Python
- Python -讀取,儲存檔案Python
- Android讀取配置檔案的方法Android
- .net core 靈活讀取配置檔案
- .NET Core 6.0之讀取配置檔案
- 索引器的妙用,讀取配置檔案索引
- C#讀取Json配置檔案C#JSON
- Python 讀取HDF5檔案Python
- python解壓並讀取檔案Python
- python讀取和生成excel檔案PythonExcel
- 配置檔案讀取——MySQL 多個連線MySql
- Java讀取properties配置檔案工具包Java
- 文摘:在EJB中讀取XML配置檔案XML
- C#讀取指定json配置檔案C#JSON