ini配置文件怎么存取False

1、ini文件介绍

INI文件(全称为Initialization File,初始化文件)是一种简单的文本文件格式,用于存储配置数据。它广泛应用于操作系统和各种应用程序中,用来保存设置、参数或初始化信息。INI文件的基本结构包括节(Sections)、键(Keys)和值(Values),其设计目的是为了让用户或系统能够轻松地阅读和编辑配置信息。

基本结构

  • (Sections): INI文件可以包含一个或多个节,每个节由方括号包围的标题表示,通常是唯一的,用于组织相关的配置选项。节名不区分大小写,但建议使用大写字母以增加可读性。
    示例:[SectionName]
  • (Keys): 每个节下可以有一个或多个键值对,键由等号(=)分隔其名称和值。键名也不区分大小写,但建议保持清晰和一致性。
    示例:Key_Name=Value
  • (Values): 键对应的值可以是任何文本内容,包括数字、字符串或布尔值的表示形式(尽管布尔值通常以特定字符串或数字表示)。

2、python读取ini

因为有一个设置需要保存True与False,然后用ini保存了。

   """新建配置"""
   config = ConfigParser()
   config.add_section('Settings')			   # 增加一个节点
   config.set('Settings', 'ye_number', '30')   # 列表行数设置
   config.set('Settings', 'quality', '90')     # 图片质量配置
   config.set('Settings', 'benmk', 'False')    # 仅查看本模块节点用例
   with open('data/config.ini', 'w') as configfile:
       config.write(configfile)                # 写入文件

存好了,是这样:
在这里插入图片描述

读就遇到问题了,代码如下,获取’benmk’的值,判断是True还是False。

   self.benmk = config.get('Settings', 'benmk')      # 仅查看本模块用例
   if self.benmk:
       pass
   else:
       pass

然后就一直给我返回True,断点看’benmk’是个str类型。
在这里插入图片描述
这里的 False 实际上是一个字符串,而不是布尔值。当使用Python的 ConfigParser 或其他INI文件解析器读取这个值时,就会得到一个字符串 “False”,而不是布尔值 False。(上面文件查看器里面看benmk = False,挺迷惑人的)

为了将字符串 “False” 转换为布尔值 False,需要在读取值后进行转换。

开始想的是用bool转换读取的值,发现不行。

bool()函数可以接受几乎任何类型的输入,并根据一系列规则将其转换为布尔值。以下是一些基本的转换规则:

数字类型:非零整数和浮点数被转换为True,而0(零)和0.0(零的浮点数表示)被转换为False。
字符串类型:非空字符串被转换为True,而空字符串""被转换为False

只想存True与False

还真找到了解决方法:

  • config.getboolean 用于从配置(config)对象中获取一个布尔类型的值。这个函数通常用于处理配置文件(如INI、JSON或特定格式的配置文件)中的设置,其中布尔值可能以字符串形式(如 “true”、“false”、“1”、“0”)存储。
self.benmk = config.getboolean('Settings', 'benmk')  
# 注意,如果值不是'yes'/'true'/'on'/'1'或'no'/'false'/'off'/'0'之一,这会抛出ValueError

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

觅梦_feng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值