Python武器库开发-常用模块之configparser模块(十六)

2023-11-04 07:52

本文主要是介绍Python武器库开发-常用模块之configparser模块(十六),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

configparser模块(十六)

ConfigParser模块在python3中修改为configparser.这个模块定义了一个ConfigParser类,该模块的作用就是用来读取配置文件的,使用模块中的RawConfigParser()、ConfigParser()、 SafeConfigParser()这三个方法,创建一个对象使用对象的方法对指定的配置文件做增删改查的操作。一般做自动化测试的时候,会使用到这个模块,用来操作配置文件(ini文件)封装一些常量。比如数据库、邮件、用户名密码、项目常量等等

ini 文件是一种常用配置文件,ini 文件主要如下:

  • ini 文件格式,由节、键、值组成

文件格式:

[section]   # 节  
key = value   # key:键,value:值

现在我们来编写一个ini文件,代码如下:

[user]
name = qianfu
age = 19
id = 1234
date = 2023-11-03[courses]
name = python
age = 19

ini 文件需要通过 configparser 模块操作,configparser 是 Python 中自带模块,常用的方法操作如下表:

方法作用
config = configparser.ConfigParser()创建 ConfigParser 对象
config.read(filenames, encoding=None)读取配置文件
config.sections()获取所有的 section,除 default 节点外
config.default_section只能获取 default 节点的 section
config.options(section)获取指定 section 下所有的 key
config.get(section, option,…)获取指定 section 下指定 key 的值
config.set(section, option,…)设置section 下指定 key 的值
config.items(section,…)获取指定 section 下所有 key 与 value
config.has_section(section)检查指定的section并返回bool值
config.has_option(section, option)检查指定的section下的指定option并返回bool值
config.remove_option(section, option,…)删除指定 section 下指定 key 与 value
config.remove_section(section)删除指定的section

我们使用以下的语句,导入configparser模块:

import configparser

初始化对象并读取文件

import configparser
import os
# 创建对象实例化
config = configparser.ConfigParser()
dirPath = os.path.dirname(os.path.realpath(__file__))
inipath = os.path.join(dirPath,'test.ini')
# 读取配置文件,如果配置文件不存在则创建
print(config.read(inipath,encoding='utf-8'))

以上代码输出如下:

在这里插入图片描述

获取并打印所有节点的名称

import configparser# 创建对象实例化
config = configparser.ConfigParser()
config.read('test.ini',encoding="UTF-8")
secs = config.sections()
print(secs)

以上代码输出如下:

在这里插入图片描述

获取指定节点的所有key

import configparser# 创建对象实例化
config = configparser.ConfigParser()
config.read('test.ini',encoding="UTF-8")
option = config.options('user')
print(option)

以上代码输出如下:

在这里插入图片描述

获取指定节点的键值对

import configparser# 创建对象实例化
config = configparser.ConfigParser()
config.read('test.ini',encoding="UTF-8")
item_list = config.items('user')
print(item_list)

以上代码输出如下:

在这里插入图片描述

获取指定节点的指定key的value

import configparser# 创建对象实例化
config = configparser.ConfigParser()
config.read('test.ini',encoding="UTF-8")
val = config.get('user','age')
print('user的age值为:',val)

以上代码输出如下:

在这里插入图片描述

检查section或option是否存在,并且返回bool值

import configparser# 创建对象实例化
config = configparser.ConfigParser()
config.read('test.ini',encoding="UTF-8")
has_sec = config.has_section('user')
print(has_sec)has_opt = config.has_option('user','name')
print(has_opt)

以上代码输出如下:

在这里插入图片描述

添加一个section和option并赋值

import configparser# 创建对象实例化
config = configparser.ConfigParser()
config.read('test.ini',encoding="UTF-8")
#添加一个section
config.add_section("permission")
#添加一个options并赋值
config.set("permission","isMember","true")with open("test.ini","w",encoding="UTF-8") as file:config.write(file)

可以看到我们的test.ini文件成功被添加了添加一个section和option并赋值为true了:

在这里插入图片描述

删除一个option

import configparser# 创建对象实例化
config = configparser.ConfigParser()
config.read('test.ini',encoding="UTF-8")
print('删除前的option:',config.items('user'))
config.remove_option('user','age')
print("删除后的option:",config.items('user'))with open("test.ini","w",encoding="UTF-8") as file:config.write(file)

以上代码输出如下:

在这里插入图片描述

在这里插入图片描述

删除一个section

import configparser# 创建对象实例化
config = configparser.ConfigParser()
config.read('test.ini',encoding="UTF-8")
print('删除前的section: ',config.sections())
config.remove_section('user')
print('删除后的section: ',config.sections())with open("test.ini","w",encoding="UTF-8") as file:config.write(file)

以上代码输出如下:

在这里插入图片描述

在这里插入图片描述

这篇关于Python武器库开发-常用模块之configparser模块(十六)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/344338

相关文章

Python调用Orator ORM进行数据库操作

《Python调用OratorORM进行数据库操作》OratorORM是一个功能丰富且灵活的PythonORM库,旨在简化数据库操作,它支持多种数据库并提供了简洁且直观的API,下面我们就... 目录Orator ORM 主要特点安装使用示例总结Orator ORM 是一个功能丰富且灵活的 python O

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

C#中读取XML文件的四种常用方法

《C#中读取XML文件的四种常用方法》Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具,下面我们就来看看C#中读取XML文件的方法都有哪些吧... 目录XML简介格式C#读取XML文件方法使用XmlDocument使用XmlTextReader/XmlTextWr

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

如何通过Python实现一个消息队列

《如何通过Python实现一个消息队列》这篇文章主要为大家详细介绍了如何通过Python实现一个简单的消息队列,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录如何通过 python 实现消息队列如何把 http 请求放在队列中执行1. 使用 queue.Queue 和 reque

Python如何实现PDF隐私信息检测

《Python如何实现PDF隐私信息检测》随着越来越多的个人信息以电子形式存储和传输,确保这些信息的安全至关重要,本文将介绍如何使用Python检测PDF文件中的隐私信息,需要的可以参考下... 目录项目背景技术栈代码解析功能说明运行结php果在当今,数据隐私保护变得尤为重要。随着越来越多的个人信息以电子形

使用Python快速实现链接转word文档

《使用Python快速实现链接转word文档》这篇文章主要为大家详细介绍了如何使用Python快速实现链接转word文档功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 演示代码展示from newspaper import Articlefrom docx import

Python Jupyter Notebook导包报错问题及解决

《PythonJupyterNotebook导包报错问题及解决》在conda环境中安装包后,JupyterNotebook导入时出现ImportError,可能是由于包版本不对应或版本太高,解决方... 目录问题解决方法重新安装Jupyter NoteBook 更改Kernel总结问题在conda上安装了

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相