亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用python實現操作ini類型配置文件

發布時間:2020-11-02 15:41:58 來源:億速云 閱讀:229 作者:Leah 欄目:開發技術

這篇文章將為大家詳細講解有關使用python實現操作ini類型配置文件,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

一、ini文件介紹

INI文件格式是某些平臺或軟件上的配置文件的非正式標準,以節(section)和鍵(key)構成,常用于微軟Windows操作系統中。這種配置文件的文件擴展名多為INI

二、ini文件的結構

  • 片段[section]
  • 鍵名 option
  • 值 value

三、實例:

實例1

python25.ini

[teachers]
name = ['yushen', 'pianpian']
age = 16
gender = '女'
favor = {"movie": "追風", "music": "周杰倫"}

[student]
name = ['啦啦迷弟', '啦啦迷妹']
age = 18

操作ini文件

from configparser import ConfigParser

# 初始化
config = ConfigParser()

# 讀取文件
config.read('python25.ini', encoding='utf-8')

a = config.get('teachers', 'name')
print(a)
print(type(a))

運行結果如下:

使用python實現操作ini類型配置文件

實例2

fz.ini

使用python實現操作ini類型配置文件

讀取fz.ini文件代碼:

import configparser
import os

curpath = os.path.dirname(os.path.realpath(__file__))
cfgpath = os.path.join(curpath, "fz.ini")

# fz.ini的路徑
print(cfgpath)

# 創建管理對象
conf = configparser.ConfigParser()

# 讀ini文件
conf.read(cfgpath, encoding="utf-8")


# 獲取所有的section
sections = conf.sections()
# 返回list
print(sections)

items = conf.items('oracle')
# list里面對象是元祖
print(items)

運行結果:

使用python實現操作ini類型配置文件

實例3,封裝升級

set修改,add添加,write寫入、remove刪除

此封裝實現以下功能:

  • 獲取sections列表
  • 獲取指定的section的options列表
  • 獲取指定section的配置信息列表
  • 按類型讀取配置信息
  • 新增section
  • 設置指定option值
  • 刪除指定section
  • 刪除指定option
# -*- coding:utf-8 -*-

from configparser import ConfigParser
import os


class TEINI:
 def __init__(self, path):
  self.path = path
  self.ini = ConfigParser()
  self.ini.read(self.path)


 # 獲取sections列表
 def get_sections(self):
  if self.ini:
   return self.ini.sections()

 # 獲取指定的section的options列表
 def get_options_by_section(self, section):
  if self.ini:
   return self.ini.options(section)

 # 獲取指定section的配置信息列表
 def get_section_items(self, section):
  if self.ini:
   return self.ini.items(section)

 # 按類型讀取配置信息
 # 返回字符串類型
 def get_string(self, section, option):
  if self.ini:
   return self.ini.get(section, option)

 # 返回int類型
 def get_int(self, section, option):
  if self.ini:
   return self.ini.getint(section, option)

 # 返回float類型
 def get_float(self, section, option):
  if self.ini:
   return self.ini.getfloat(section, option)

 # 返回bool類型
 def get_boolean(self, section, option):
  if self.ini:
   return self.ini.getboolean(section, option)

 # 新增section
 def add_section(self, section):
  if self.ini:
   self.ini.add_section(section)
   self.ini.write(open(self.path, "w"))

 # 設置指定option值
 def set_option(self, section, option, value):
  if self.ini:
   self.ini.set(section, option, value)
   self.ini.write(open(self.path, "w"))

 # 刪除指定section
 def remove_section(self, section):
  if self.ini:
   self.ini.remove_section(section)
   self.ini.write(open(self.path, "w"))

 # 刪除指定option
 def remove_option(self, section, option):
  if self.ini:
   self.ini.remove_option(section, option)
   self.ini.write(open(self.path, "w"))


if __name__ == "__main__":
 print("python ini標準庫解析實例======根據需求運行代碼!!!")

 # 如果存在mysql.ini先刪除,方便下列代碼的運行
 if os.path.exists("mysql.ini"):
  os.remove("mysql.ini")

 # 我們先寫一些數據到mysql.ini中
 ini = TEINI("mysql.ini")

 # 先加一個mysql section
 mysql_section = "mysql"
 ini.add_section(mysql_section)

 # 在mysql section下寫入一些配置信息
 ini.set_option(mysql_section, "host", "192.168.3.1")
 ini.set_option(mysql_section, "port", "3306")
 ini.set_option(mysql_section, "db", "mysql")
 ini.set_option(mysql_section, "user", "admin")
 ini.set_option(mysql_section, "password", "111111")

 # 再添加一個oracle section
 oracle_section = "oracle"
 ini.add_section(oracle_section)

 # oracle section下寫入一些配置信息
 ini.set_option(oracle_section, "host", "192.172.0.1")
 ini.set_option(oracle_section, "port", "8080")
 ini.set_option(oracle_section, "db", "oracle")
 ini.set_option(oracle_section, "user", "guiyin")
 ini.set_option(oracle_section, "password", "666666")

 # 獲取下所有的section,并在console輸出
 sections = ini.get_sections()
 print(sections)

 # 遍歷各個section下的options,并在console中輸出
 print("===" * 20)
 for sec in sections:
  print(sec, " 中的options為: ")
  options = ini.get_options_by_section(sec)
  print(options)
  print("===" * 20)

 # 獲取各個section下的配置信息
 for sec in sections:
  print(sec, " 中的配置信息為: ")
  items = ini.get_section_items(sec)
  print(items)
  print("***" * 20)

 # 獲取指定的option值這里演示讀取host和port
 host = ini.get_string("mysql", "host")
 port = ini.get_int("mysql", "port")
 print("類型: ", type(host), " ", type(port))
 print(host, " ", port)

 # 刪除mysql中的host配置
 ini.remove_option("mysql", "host")

 # 刪除oracle section
 ini.remove_section("oracle")

 # 修改mysql port的值為4000
 ini.set_option("mysql", "port", "5538")


 # 最終mysql.ini中的文件內容如下
 # [mysql]
 # port = 5538
 # db = mysql
 # user = admin
 # password = 111111
items = ini.get_section_items("mysql")
print(items)
print("!!!" * 20)

運行結果如下:

使用python實現操作ini類型配置文件

關于使用python實現操作ini類型配置文件就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临漳县| 宣化县| 仁怀市| 云南省| 南宫市| 读书| 宁城县| 新平| 习水县| 邮箱| 孝昌县| 涞水县| 新丰县| 舒城县| 仪陇县| 望都县| 常山县| 白朗县| 尖扎县| 伊春市| 泗洪县| 武宁县| 龙州县| 元阳县| 西林县| 龙里县| 类乌齐县| 柯坪县| 安多县| 宁明县| 南召县| 甘洛县| 剑川县| 文登市| 宁阳县| 久治县| 蕉岭县| 根河市| 兴文县| 乡宁县| 衡阳县|