Python常用配置文件ini、json、yaml读写总结
off999 2024-11-13 11:48 27 浏览 0 评论
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理
开发项目时,为了维护一些经常需要变更的数据,比如数据库的连接信息、请求的url、测试数据等,需要将这些数据写入配置文件,将数据和代码分离,只需要修改配置文件的参数,就可以快速完成环境的切换或者测试数据的更新,常用的配置文件格式有ini、json、yaml等,下面简单给大家介绍下,Python如何读写这几种格式的文件。
ini格式
ini 即 Initialize ,是Windows中常用的配置文件格式,结构比较简单,主要由节(Section)、键(key)和值(value)组成。每个独立部分称之为section,每个section内,都是key(option)=value形成的键值对。
在Python3中,使用自带的 configparser 库(配置文件解析器)来解析类似于ini这种格式的文件,比如config、conf。
ini读取删除操作
import configparser
#使用前,需要创建一个实例
config = configparser.ConfigParser()
# 读取并打开文件
config.read('test2.ini',encoding='utf-8')
# 获取sections
print(config.sections())
#['db', 'data']
# 获取某section下的所有options
print(config.options('db'))
#['user', 'pwd', 'host', 'database', 'port']
# 获取某section下指定options
print(config.get('db', 'user'))
# root
# 获取section中所有的键值对
print(config.items('data'))
# [('admin_user', 'tong'), ('admin_pwd', '123456')]
#删除整个section
config.remove_section('db')
#删除section下的某个k
config.remove_option('db','host')
ini写入操作
import configparser
config = configparser.ConfigParser()
config["url"] = {'url':"www.baidu.com"} #类似于操作字典的形式
with open('example.ini', 'w') as configfile:
config.write(configfile) #将对象写入文件
json格式
JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,这些特性使json成为理想的数据交换语言,易于阅读和编写,同时易于机器解析和生成。关于json的使用,之前写过一篇Python处理json总结,大家可以看下。
json格式示例:
{
"name":"smith",
"age":30,
"sex":"男"
}
Python中使用内置模块 json 操作json数据,使用json.load()和json.dump方法进行json格式文件读写:
# 读取json
import json
with open('test1.json') as f:
a = json.load(f)
print(a)
# 写入json
import json
dic ={
"name" : "xiaoming",
"age" : 20,
"phonenumber" : "15555555555"
}
with open("test2.json", "w") as outfile:
json.dump(dic, outfile)
yaml格式
yaml全称Yet Another Markup Language(另一种标记语言),它是一种简洁的非标记语言,以数据为中心,使用空白,缩进,分行组织数据,解析成本很低,是非常流行的配置文件语言。
yaml的语法特点:
- 大小写敏感
- 使用缩进表示层级关系,缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
- 缩进时不允许使用Tab键,只允许使用空格。
- 字符串不需要使用引号标注,但若字符串包含有特殊字符则需用引号标注
- 注释标识为#
- 以 - 开头的行表示构成一个数组
yaml格式示例
case1:
info:
title: "正常登陆"
url: http://192.168.1.1/user/login
method: "POST"
json:
username: "admin"
password: "123456"
expected:
status_code: 200
content: "user_id"
yaml支持的数据结构有三种:
- 对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
- 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
- 纯量(scalars):单个的、不可再分的值。字符串、布尔值、整数、浮点数、Null、时间、日期
Python中使用 pyyaml 处理yaml格式数据
使用前,需要进行安装
pip install pyyaml
yaml文件读取
用python读取yaml文件,先用open方法读取文件数据,再通过load方法转成字典。
import yaml
with open("testyaml.yaml", encoding='utf-8') as file:
data = yaml.safe_load(file)
print(data)
print(data['case1']['json'])
print(data['case1']['json']['username'])
import yaml
#定义一个字典
content = {
'id': 1,
'text': 'programming languages',
'members': ['java', 'python', 'python', 'c', 'go', 'shell']
}
with open('test3.yaml', 'w', encoding='utf-8') as file:
yaml.dump(content, file, default_flow_style=False, encoding='utf-8', allow_unicode=True)
写入的数据带中文,会出现乱码,需要设置allow_unicode=True。
私信小编01即可获取大量Python学习资料
相关推荐
- 纯净系统之家官网(纯净系统基地官网)
-
系统之家发布的Win10纯净版是没有预装激活工具的,您需要自行激活。以下是操作步骤:1.打开“设置”页面,选择“更新和安全”选项。2.在左侧菜单栏中,选择“激活”。3.点击“更改产品密钥”按钮,...
- 免费无限破解版游戏大全下载
-
靠谱助手、烧饼、葫芦侠修改器、八门神器、全能破解就是不用花钱就能买游戏里的商品安全岂见打开飞行模式内购更安全不会扣费手机先ROOT,之后下对应的破解软件,这样成功率比较高。虎牙YOWA云游戏...
-
- 视频相册制作软件免费版(视频相册制作下载)
-
电脑端的软件推荐第一个会声会影,会声会影这个软件简单易上手,制作出来电子相册很美,软件本身简单容易操作,没有水印。第二个推荐快剪辑,快剪辑也是一个制作电子相册非常好的软件,这个软件简单易上手,没有什么操作难度。第三个电脑端的软件编辑星,编辑...
-
2026-01-16 23:51 off999
- win11官网(win11官网激活码多少钱)
-
https://www.microsoft.com/zh-cn/您可以在微软官方网站上找到Windows11系统的下载链接,然后按照官方指导进行下载。首先,打开您的浏览器并访问微软官方网站,然后找到...
- vmospro虚拟机(vmospro虚拟机游戏闪退)
-
VMOSPRO可以用来运行多个安卓系统。因为VMOSPRO是一款虚拟机应用,可以在其中运行多个安卓系统,用户可以在不影响手机原系统的情况下,体验更多的安卓应用和功能。除了运行多个安卓系统外,VMO...
- 法国vs阿根廷(法国vs阿根廷决赛)
-
法国和阿根廷此前一共交手过12次,法国3胜3平6负。世界杯交手了3次,2胜1负。总体战绩法国还是处于下风的。最近一次交锋是2018世界杯八分之一决赛一场比赛中,欧洲劲旅法国队以4-3的比分击败了南美强...
- 百度手机助手下载2025官方正版
-
10年2012年参加的社会保险到2022年的参保对应月应该是整10年。我打个比方:某甲2012年10月份参加了社保,那么到了2022年10月份就是参加社保整整的10年。差不多十年左右吧。2022-20...
- 迅雷手机版高清在线(迅雷手机观看2018)
-
《海派甜心》是可米瑞智国际艺能有限公司出品的一部青春偶像剧。由林合隆执导,杨丞琳、罗志祥、李威主演。腾讯,爱艺奇上都可以观看
-
- itunes官方下载win7版(windows7下载itunes哪个版本)
-
itunes最新版本已经不支持win10以下系统了,很多商店标的支持win7只是没改,官网已经写的很清楚了,最低Windows10版本16299.0或更高版本。64位版本的Windows需要iTunes64位安装程序,4...
-
2026-01-16 22:15 off999
- 破解版传奇游戏无限内购破解版
-
1/6分步阅读首先,我们先去将游戏软件下载下来,点击页面底部位置的下载按钮,开始进行下载。2/6然后,我们在自己的手机桌面上找到已经下载安装完成好了的游戏软件,点击进入。3/6进入到选择登录方式这个页...
- 手机浏览器flash插件(5.4英寸的屏幕)
-
1、在手机的应用商店中,进入到搜索页面之后,输入“Adobeflashplayer”,然后点击搜索,找到就可以安装了2、第二个可以直接通过网页搜索Adobeflashplayer,一定要注意版...
- 最新卫星地图(最新卫星地图高清在线观看)
-
实时地球是中科遥感集团开发的中国卫星影像地图软件,被誉为中国版的“谷歌地球”。在线地球采用遥感集市云平台数据接口,每天动态更新高分辨率卫星影像,同时内置近年历史影像存档数据,所有影像免费开放浏览。用...
- 免费伴奏网(免费伴奏网址大全)
-
推荐下列5个伴奏网:99伴奏网这个网站提供有很多免费伴奏下载,包括男歌手伴奏,女歌手伴奏,组合伴奏,合唱伴奏,民歌伴奏,儿歌伴奏,改版伴奏,戏曲伴奏,婚礼伴奏等。免费伴奏–乱推网一个伴奏搜索下载网站,...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
Python 批量卸载关联包 pip-autoremove
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
