Python 的 Configparser 模块2024年8月29日 | 阅读 8 分钟 Python 内置的 ConfigParser 库是基础模块的一部分。该库提供了一个控制台解析器,用于轻松配置由名称-键值对组成的文件。 此库支持的全球流行的约定是“INI”语法,最常用于 Microsoft 平台。该库最初是为了帮助处理一种不同的语言结构而创建的,其中每个部分的项都类似于 RFC 822 标头。 该实现允许使用任一语法指定命名值。这种隐性的失误和“INI”格式缺乏明确的定义使得该模块的维护工作非常单调,因此该实现在几乎每个 Python 版本中都进行了更改,并且该模块的行为被证明非常难以描述。 要点
下面显示了一个示例 INI 文件。 ConfigParser 类属于 configparser 模块。它必须管理解析内容的数据库并解析所有配置文件。 ConfigParser 类的任何对象都由以下行创建 - 以下是 ConfigParser 类对象使用的方法:
以下脚本解析并读取 'sampleconfigfile.ini' 文件 输出 Sections: Settings detailedlog = 1 runstatus = 1 statusport = 6099 statusrefresh = 10 archive = 1 logfile = /opt/ecs/mvuser/MV_IPTel/log/MV_IPTel.log version = 0.9 Build 4 servername = Unknown Section: FTP runftp = 1 ftpport = 21 ftpdir = /opt/ecs/mvuser/MV_IPTel/data/FTPdata username = admin password = admin 要构建配置文件,使用 write() 方法。以下代码配置 parser_name 的对象,并对名为 'testing.ini' 的文件对象执行写入操作。 支持的数据类型 在配置文件中,Config 解析器不能假设值的数据类型,始终将其内部保留为字符串。这意味着如果我们需要其他数据类型,我们必须隐式转换。 由于这项工作非常普遍,Config 解析器提供了一系列有用的 getter 方法来处理数字、浮点数和布尔值。最后一个是最有趣的,因为将值传递给 bool() 没有用,因为 bool('true') 仍然是 false。这就是为什么 Config 解析器还提供了 getboolean()。此方法不区分大小写,并识别 'no'/'yes'、'false'/'true'、'off'/'on' 和 '0'/'1' 中的布尔值。 例如 Config 解析器不仅提供 getboolean() 方法,还提供类似的 getfloat() 和 getint() 方法。 备用值在字典中,要提供备用值,我们将使用部分的 get() 函数。 请注意,默认值优先于备用值。例如,在我们的模型中,'CompressionLevel' 键仅在 'DEFAULT' 区域中确定。如果我们尝试从 'top_secret.server.com' 部分获取它,我们将始终获得默认值,即使我们指定了备用值。 另一件需要了解的事情是,parser_name 级别的 get() 方法提供了一个自定义的、更复杂的接口,为保持向后兼容性而保留。使用此方法时,可以使用 fallback_ 关键字仅参数提供 fallback_ 值。 同样的 fallback_ 参数可以与 getint()、getfloat() 和 getboolean() 方法一起使用,例如: INI 文件支持的格式每个配置文件都有部分,每个部分由标题 -> 部分定义,后面跟着键/值类型的条目,然后由字符串(: 或 =)分区。尾随和前导空格与值和键分开。 如果解析器配置允许,可以删除值,在这种情况下,值/键句号也可以省略。值还可以跨多行,只要它们比值的第一行缩进更多。根据解析器的模式,空行可能被视为多行值的一部分或被忽略。 默认情况下,任何部分名称都可以是任何不包含 ']' 或 '\n' 的字符串。 设计文档可以包含以特定字符(; 和 #)为前缀的注释。注释可以单独出现在几乎空行上,可能带有缩进。 例如 异常
|
YouTube 是世界上最受欢迎的视频分享网站,每天都有数百万用户在各种视频上发表评论。对于不同的研究或分析应用程序,从这些评论中提取信息可能是一个重要的资源。使用 Python 编程,可以轻松检索评论...
阅读 4 分钟
乒乓球游戏是街机游戏中最著名的游戏之一,与乒乓球非常相似。这个游戏的规则很简单:有两个玩家。双方都控制着自己一方的球拍。他们可以在垂直方向上移动球拍,从...
阅读 6 分钟
interpolation() 的基本用法 下面的 pandas.DataFrame 用作示例。示例:import pandas as pd #这里,我们导入 pandas 库作为 pd import numpy as np #这里,我们导入 numpy 库作为...
5 分钟阅读
强化学习是学习过程中的一种模型,其中学习代理通过不断与周围环境互动,随着时间的推移,以最佳方式在特定环境中发展。在学习过程中,代理会遇到不同的场景,其中...
阅读 4 分钟
什么是 Matplotlib?在 Python 中,我们有很多内置库,它们有很多有用的内置函数,我们可以通过导入这些库来使用。Matplotlib 是 Python 中最重要的库之一,用于绘制图形和图表...
阅读 3 分钟
二项式分布是概率论和统计学中的一个关键概念。它解释了在一定数量的独立伯努利试验中获得特定成功次数的可能性,其中每个试验只能导致成功或失败。以下是二项式分布的主要特征:固定...
阅读 3 分钟
字典是 Python 中最常用的数据类型之一。它是键:值对的无序集合。每个值都有一个对应的键来标识它。字典是可变集合,意味着我们可以修改值。使一个...
阅读 4 分钟
简介 return 用于从函数返回一个值。用户只能在函数中使用 return 语句。它不能在 Python 函数之外使用。一个 return 语句包括 return 关键字和将在执行后返回的值...
阅读 3 分钟
本文将讨论使用各种方法在 Python 中查找多个集合的对称差的问题。Python 中的集合 在 Python 中,集合是括在花括号 {} 中的无序、可变的唯一元素集合。集合中的每个元素都必须是可哈希的,这意味着...
7 分钟阅读
函数注解是一些随机表达式,它们与函数一起编写,并在编译时进行评估。它们在运行时不存在,并且这些表达式对 python 没有意义。它们由第三方使用和解释,或者...
阅读 3 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India