当前位置: 首页 > ds >正文

python3中配置文件ini的使用详解----读写、list/dict/path等变量的应用、解码

文章目录

0.背景知识

1.ini文件的格式

2.ini文件读取方式

3.通过ini文件的变量的path,读取excel文件

4.ini文件的写入

5.ini文件的解码

 

0.背景知识

背景知识:
python3中,根据不同的工具或系统,见到过各种类型的配置文件,有json格式的、py格式的、ini格式的,yaml、txt、excel等等。但是,最常见的还是ini格式的配置文件。

为什么要用ini格式作为配置文件?
一般来说,如果只是读取变量信息,且这些变量信息一般都不需要变动或修改。那么最常用的py文件即可,直接导入读取即可,简单方便。但如果需要系统自动修改或增加信息的时候,使用ini文件确实是非常好的一个选择。
详情可参考:https://my.oschina.net/janzhen/blog/86189

1.ini文件的格式

# config.ini文件[sys_config]
time = 12:30
mylist = [18, "alien", 90, "12alien"]
path = ../DB/my_excel.xls[user_info]
name = alien
age = 18
pw = 123456
  • 每个[]圈起来是区域名,下面是对应这个区域的变量,且不同区域可以在通过系统增加、修改等
  • 变量不需要再使用“”号圈起来了,这个和py文件的变量有点区别
  • 读取完变量之后,所有的变量全部都是字符串str格式的,所以如果变量中如果有list,dict、json等信息,需要使用json.loads()方法把外面的“”的去掉,就变成数据的原始格式了。
  • 如果path变量,ini文件不需要使用“”,读取完之后变量就携带“”了,就直接可以用了。注意此时的ini文件的path是此文件相对变量文件的相对地址。或者直接把绝对地址写进去也行。

2.ini文件读取方式

在这里插入图片描述

# read_config.py文件import configparser, json
import xlrdconfig = configparser.ConfigParser()
config.read("../Tools/config.ini")# 读取变量信息
mylist = config.get("sys_config", "mylist")
print(mylist, type(mylist), repr(mylist))
# 解析原始变量信息(去掉“”)
new_list = json.loads(mylist)
print(new_list, type(new_list), repr(new_list))
# path信息,直接就可以使用了
path = config.get("sys_config", "path")
print(path, type(path), repr(path))

 


[18, "alien", 90, "12alien"] <class 'str'> '[18, "alien", 90, "12alien"]'
[18, 'alien', 90, '12alien'] <class 'list'> [18, 'alien', 90, '12alien']
../DB/my_excel.xls <class 'str'> '../DB/my_excel.xls'

3.通过ini文件的变量的path,读取excel文件

在这里插入图片描述
在这里插入图片描述

# read_config.py文件import configparser
import xlrdconfig = configparser.ConfigParser()
config.read("../Tools/config.ini")path = config.get("sys_config", "path")
print(path, type(path), repr(path))workbook = xlrd.open_workbook(path)
# 根据sheet索引或者名称获取sheet内容
sheet1 = workbook.sheet_by_index(0)# 获取单元格内容
print(sheet1.cell(1, 0).value)
print(sheet1.cell(1, 1).value)
print(sheet1.cell(1, 2).value)

 


../DB/my_excel.xls <class 'str'> '../DB/my_excel.xls'
18.0
alien
china

4.ini文件的写入

# read_config.py文件import configparserconfig = configparser.ConfigParser()
config.read("../Tools/config.ini")try:config.add_section("Home")config.set("Home", "IP", "10.12.23.56")config.set("Home", "Mask", "255.255.255.0")
except configparser.DuplicateSectionError:print("Section 'Home' already exists")config.write(open("../Tools/config.ini", "w"))
# 写入后的config.ini文件[sys_config]
time = 12:30
mylist = [18, "alien", 90, "12alien"]
path = ../DB/my_excel.xls[user_info]
name = alien
age = 18
pw = 123456[Home]
ip = 10.12.23.56
mask = 255.255.255.0

5.ini文件的解码

如果ini里面的变量,有的值带中文字符,需要在打开的时候,使用“utf8”解码方式打开


config = configparser.ConfigParser()
config.read("../Tools/config.ini", encoding="utf8")
http://www.xdnf.cn/news/11520.html

相关文章:

  • VS 番茄插件 Visual Assist X_10.9.2440
  • mysql : grant权限命令汇总
  • JSF入门之helloworld
  • 20220801 git push -f命令
  • c语言---函数递归(详解)
  • Android 平台 metaRTC使用源码调试
  • MOS管工作原理精讲
  • 软件测试人员必备的60个测试工具,果断收藏了!_测试工程师必备软件_
  • linux 无法挂载目录mnt,详解linux下mnt目录作用
  • QSS语法介绍
  • JavaScript基础一、简介
  • 波动方程
  • 专家系统是什么
  • Redis设计与实现之RDB
  • Android中的Service详解
  • 无需专业技能,轻松创建个人博客:Cpolar+Emlog在Ubuntu上的搭建指南
  • Linux下deamon(服务)的实现
  • “qvod专用播放器”是专门为H网而做的吗?
  • CTF是什么?一文带你读懂网络安全大赛
  • JavaScript之正则表达式的使用方法详细介绍
  • jQuery 中常用的API
  • Openfire源码分析
  • Linux系统查询磁盘空间大小(df、du)
  • windows下安装exiftool 进行无人机图像数据信息查看
  • Red Hat基本命令的使用
  • 推荐一些python的论坛,一起学习才有意思!
  • H264编码基础概念+格式分析
  • Zeromq模式详解
  • UAC 实现原理及绕过方法
  • 【infiniband】SDR、DDR、QDR、FDR、EDR、HDR、NDR