资讯专栏INFORMATION COLUMN

配置文件的新姿势:configparser

刘永祥 / 2247人阅读

摘要:简介是用来读取配置文件的包。配置文件的格式如下中括号内包含的为。下面为类似于的配置内容。

ConfigParser简介

ConfigParser 是用来读取配置文件的包。配置文件的格式如下:中括号“[ ]”内包含的为section。section 下面为类似于key-value 的配置内容。

ConfigParser使用用法

   [db]
   db_host = 127.0.0.1
   db_port = 69
   db_user = root
   db_pass = root
   host_port = 69
   
   [concurrent]
   thread = 10
   processor = 20
   

ConfigParser 初始化对象

  import configparser
  config = configparser.ConfigParser()
  config.read("ini", encoding="utf-8")
  r = config.options("db")
  print(r)
  #运行结果
  # ["db_host", "db_port", "db_user", "db_pass", "host_port"]

获取指点section下指点option的值

  import configparser
  config = configparser.ConfigParser()
  config.read("ini", encoding="utf-8")
  r = config.get("db", "db_host")
  # r1 = config.getint("db", "k1") #将获取到值转换为int型
  # r2 = config.getboolean("db", "k2" ) #将获取到值转换为bool型
  # r3 = config.getfloat("db", "k3" ) #将获取到值转换为浮点型
  print(r)
  #运行结果
  # 127.0.0.1

获取指点section的所用配置信息

import configparser
config = configparser.ConfigParser()
config.read("ini", encoding="utf-8")
r = config.items("db")
print(r)
#运行结果
#[("db_host", "127.0.0.1"), ("db_port", "69"), ("db_user", "root"), ("db_pass", "root"), ("host_port", "69")]

修改某个option的值,如果不存在则会出创建

# 修改某个option的值,如果不存在该option 则会创建
import configparser
config = configparser.ConfigParser()
config.read("ini", encoding="utf-8")
config.set("db", "db_port", "69")  #修改db_port的值为69
config.write(open("ini", "w"))

检查section或option是否存在,bool值

  import configparser
  config = configparser.ConfigParser()
  config.has_section("section") #是否存在该section
  config.has_option("section", "option")  #是否存在该option

添加section 和 option

  import configparser
  config = configparser.ConfigParser()
  config.read("ini", encoding="utf-8")
  if not config.has_section("default"):  # 检查是否存在section
      config.add_section("default")
  if not config.has_option("default", "db_host"):  # 检查是否存在该option
      config.set("default", "db_host", "1.1.1.1")
  config.write(open("ini", "w"))
  
 

删除section 和 option

import configparser
config = configparser.ConfigParser()
config.read("ini", encoding="utf-8")
config.remove_section("default") #整个section下的所有内容都将删除
config.write(open("ini", "w"))

写入文件

# 以下的几行代码只是将文件内容读取到内存中,进过一系列操作之后必须写回文件,才能生效。
import configparser
config = configparser.ConfigParser()
config.read("ini", encoding="utf-8")
#写回文件
config.write(open("ini", "w"))

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/45207.html

相关文章

  • Python解析配置模块之ConfigParser详解

    摘要:解析配置模块之详解基本的读取配置文件直接读取文件内容得到所有的,并以列表的形式返回得到该的所有得到该的所有键值对得到中的值,返回为类型得到中的值,返回为类型,还有相应的和函数。是最基础的文件读取类,支持对变量的解析。 Python 解析配置模块之ConfigParser详解 1.基本的读取配置文件 -read(filename) 直接读取ini文件内容 -sections() 得到所有...

    weknow619 评论0 收藏0
  • python模块之configparser

    摘要:由于这种需求非常普遍,配置解析器提供了一系列更简便的方法来处理整数浮点数及布尔值。注意点方法对大小写不敏感,能识别和为对应的布尔值后备值和字典一样,可以使用的方法提供后备值需要注意的是,默认值的优先级高于后备值。 快速开始 # demo.ini [DEFAULT] ServerAliveInterval = 45 Compression = yes CompressionLevel ...

    荆兆峰 评论0 收藏0
  • 【自动化测试】Python 读取 .ini 格式文件

    摘要:大家应该接触过格式的配置文件。特别是后续做自动化的测试,需要拎出一部分配置信息,进行管理。二读取文件自带有读取配置文件的模块,配置文件不区分大小写。读取文件内容得到所有的,并以列表的形式返回。 大家应该接触过.ini格式的配置文件。配置文件就是把一些配置相关信息提取出去来进行单独管理,如果以后有变动只需改配置文件,无需修改代码。特别是后续做自动化的测试,需要拎出一部分配置信息,进行管...

    Eric 评论0 收藏0
  • python--模块2

    摘要:可能没有用户输出的消息创建一个,用于写入日志文件再创建一个,用于输出到控制台对象可以添加多个和对象序列化模块什么叫序列化将原本的字典列表等内容转换成一个字符串的过程就叫做序列化。 hashlib模块 1.Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(...

    13651657101 评论0 收藏0
  • 原程序运行良好,Pyinstaller封装后运行出错 的分析

    摘要:前言昨天决定分享一下最近写的爬虫程序,参考了这篇文章,看了下里面几个常见打包软件的简介表格可惜没因为是给小白用户使用,做成单个文件形式,只能在和之间选择去各自官网看了下,发现很久没更新了,对新版本的支持也不是太好,就决定用来封装打包这里略过 前言 昨天决定分享一下最近写的exhentai爬虫程序,参考了这篇文章,看了下里面几个常见打包软件的简介表格(可惜没nuitka)因为是给小白用户...

    muzhuyu 评论0 收藏0

发表评论

0条评论

刘永祥

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<