基本使用方法

第一步:准备一份INI文件。如test1.ini

[ITEMS]
item1=1
item2=2
item3=3
item4=4 [ITEM1]
test1=aaa [ITEM2]
test2=bbb [ITEM3]
test3=ccc [ITEM4]
test4=ddd

第二步:读取INI文件内容。ReadINI.py

#!/usr/bin/env python
# _*_ coding: UTF-8 _*_
"""=================================================
@Project -> File : six-dialog_design -> ReadINI.py
@IDE : PyCharm
@Author : zihan
@Date : 2020/6/2 14:35
@Desc :
================================================="""
import configparser conf = configparser.ConfigParser()
conf.read("./test1.ini") sections = conf.sections()
print(sections) options = conf.options('ITEMS')
print(options) items = conf.items('ITEMS')
print(items) value = conf.get('ITEMS', 'item1')
print(value)

第三步:输出结果

['ITEMS', 'ITEM1', 'ITEM2', 'ITEM3', 'ITEM4']
['item1', 'item2', 'item3', 'item4']
[('item1', '1'), ('item2', '2'), ('item3', '3'), ('item4', '4')]
1

总结:第一个是获取所有的section,第二个是获取当前section下面的key,第三个是获取当前section下面的键值对,第四个是获取相应section,key的值。

问题解决

1. INI文件有中文

如果ini文件里面有中文的话,可能会报如下错误

UnicodeDecodeError: 'gbk' codec can't decode byte 0x87 in position 18: illegal multibyte sequence

解决办法:conf.read("./test1.ini", encoding="utf-8")

当然,是否填的是utf-8得自己试试,没准gbk啥的。

2. INI中的key读取出来都是小写

如果自己写的key并不全是小写,但是使用这个库将自己的库读出来,会发现打印出来的全是真实key的小写

解决办法:重写configparser库

class MyConfigParser(configparser.ConfigParser):
def __init__(self, defaults=None):
configparser.ConfigParser.__init__(self, defaults=defaults) def optionxform(self, optionstr):
return optionstr

使用方法:

conf = MyConfigParser()

其他的和原方法不变。

Python基础之读取ini文件的更多相关文章

  1. python中configparser模块读取ini文件

    python中configparser模块读取ini文件 ConfigParser模块在python中用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(se ...

  2. Python 用configparser读写ini文件

    一.configparser 简介Python用于读写ini文件的一个官方标准库.具体详见官网链接 二.configparser 部分方法介绍 方法 描述 read(filenames) filesn ...

  3. C#读取ini文件的方法

    最近项目用到ini文件,读取ini文件,方法如下: using System; using System.Collections.Generic; using System.Linq; using S ...

  4. 深入学习python解析并读取PDF文件内容的方法

    这篇文章主要学习了python解析并读取PDF文件内容的方法,包括对学习库的应用,python2.7和python3.6中python解析PDF文件内容库的更新,包括对pdfminer库的详细解释和应 ...

  5. VS VC 读取 INI文件

    1.获取应程序同极目录下的config.ini路劲 void GetConfigFilePath(char *path,int len, char *file) { char module[256] ...

  6. C# 读取ini文件,读不出来原因

    先赋上相关读取ini文件代码 public class INIHelper { public string inipath; [DllImport("kernel32")] pri ...

  7. C# 通过api函数GetPrivateProfileString读取ini文件,取不到值

    通过api函数GetPrivateProfileString读取ini文件,取不到值,测试了好长时间,都不行 确认程序,ini文件都没有错误的情况,最后发现是ini文件编码的原因. 将ini文件的编码 ...

  8. C# 读取ini文件 百度问问学习文档

    C# 读取ini文件 10 有多个section,现想读取整个ini文件和指定section下所有内容 补充: 发布答案可以,请对准题目啊,我不要指定节点的内容,我知道!我要的是读取指定区域的内容,假 ...

  9. bat 读取 ini 文件

    bat 读取 ini 文件 参考链接:https://stackoverflow.com/questions/2866117/windows-batch-script-to-read-an-ini-f ...

随机推荐

  1. 【NX二次开发】Block UI 指定方位

    属性说明 属性   类型   描述   常规           BlockID    String    控件ID    Enable    Logical    是否可操作    Group    ...

  2. xxl-job执行器的注册

    一.执行器注册流程 二.具体流程 1.注册监控线程 //类:JobRegistryHelper.java:方法:public void start() registryMonitorThread = ...

  3. NOIP模拟测试39,思维禁锢专场「工业题·玄学题·卡常题」

    工业题 题解 抱歉,题解没时间写了 代码 #include<bits/stdc++.h> using namespace std; #define ll long long #define ...

  4. 遇到禁止复制该怎么办?幸好我会Python...

    相信大家都有遇到这种情况(无法复制): 或者是这种情况 以上这种情况都是网页无法复制文本的情况.不过这些对于Python来说都不是问题.今天辰哥就叫你们用Python去解决. 思路:利用pdfkit库 ...

  5. Golang控制子gorutine退出,并阻塞等待所有子gorutine全部退出

    Golang控制子gorutine退出,并阻塞等待所有子gorutine全部退出 需求 程序有时需要自动重启或者重新初始化一些功能,就需要退出之前的所有子gorutine,并且要等待所有子goruti ...

  6. js笔记18

    1.面向对象 (1)单例模式 (2)工厂模式 (3)构造函数 a.类  js天生自带的类 基类   object 子类   Function  Array Number  Math  Boolean ...

  7. 永恒之蓝MS17-010漏洞复现

    永恒之蓝MS17-010漏洞复现 1.漏洞描述: 起因: 永恒之蓝(Eternalblue)是指2017年4月14日晚,黑客团体Shadow Brokers(影子经纪人)公布一大批网络攻击工具,其中包 ...

  8. 第5章:资源编排(YAML)

    5.1 编写YAML注意事项 YAML 是一种简洁的非标记语言. 语法格式: 缩进表示层级关系 不支持制表符"tab"缩进,使用空格缩进 通常开头缩进 2 个空格 字符后缩进 1 ...

  9. Zabbix5.0Yum安装

    1.1.操作系统配置: 1.操作系统属性(虚拟机下环境): (1)操作系统版本: [root@localhost ~]# cat /etc/redhat-release CentOS Linux re ...

  10. 1.6Java语言规范、API、JDK、和IDE

    要点提示:Java语言规范定义了Java的语法,Java库则在JavaAPI中定义.JDK是用于开发和运行Java程序的软件.IDE是快速开发程序的集成开发环境. 计算机语言有严格的使用规范.