广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python3 读取 ini 配置文件(
  • 573
分享到

Python3 读取 ini 配置文件(

配置文件ini 2023-01-31 08:01:55 573人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

【背景】  windows 的记事本会给 UTF-8 文件添加 BOM 头,很烦,搞个通用的读取配置文件的代码。可能报这种错误:configparser.MissingSectionHeaderError: File contains no

【背景】

  windows 的记事本会给 UTF-8 文件添加 BOM 头,很烦,搞个通用的读取配置文件的代码。可能报这种错误:

configparser.MissingSectionHeaderError: File contains no section headers.

file: 'D:\\python3Project\\ClearWFWatermark\\config\\config.ini', line: 1

'\ufeff[config]\n'


【config.ini】

[config]
SrcRoot=D:\input
DstRoot=D:\output


【t.py】

#encoding=utf-8
#author: walker
#date: 2018-03-31
#summary: 读取 UTF-8/UTF-8-BOM 配置文件
 
import os, sys
from configparser import ConfigParser
 
SrcRoot = r''
DstRoot = r''
 
#读取配置文件
def ReadConfig(): 
	global SrcRoot, DstRoot
	 
	cfg = ConfigParser()
	# cfg.optionxfORM = str   # 保持键的大小写
	cfgFile = 'config.ini'
	if not os.path.exists(cfgFile):
		input(cfgFile + ' not found')
		sys.exit(-1)
	with open(cfgFile, mode='rb') as f:
		content = f.read()
	if content.startswith(b'\xef\xbb\xbf'):     # 去掉 utf8 bom 头
		content = content[3:]
	cfg.read_string(content.decode('utf8'))
	if not cfg.sections():
		input('Read config.ini failed...')
		sys.exit(-1)
		 
	SrcRoot = cfg.get('config', 'SrcRoot').strip()          
	if not os.path.exists(SrcRoot):
		print('Error: not exists %s' % SrcRoot)
		sys.exit(-1)
	print('SrcRoot: %s' % SrcRoot)
	 
	DstRoot = cfg.get('config', 'DstRoot').strip()          
	if not os.path.exists(DstRoot):
		print('Error: not exists %s' % DstRoot)
		sys.exit(-1)
	print('DstRoot: %s' % DstRoot)
		 
	print('Read config.ini successed!')
 
if __name__ == '__main__':
	ReadConfig()


【cmd】

λ python3 t.py
SrcRoot: D:\input
DstRoot: D:\output
Read config.ini successed!


【读取配置文件,并转换为二级有序字典】

# encoding: utf-8
# author: walker
# date: 2018-06-01
# summary: 读取配置文件,并转换为二级有序字典,结果其实类似于私有变量 cfg._sections

import os, sys
from collections import OrderedDict
from configparser import ConfigParser
from pprint import pprint

# 读取配置文件
# 返回一个二级字典
def ReadConfig():
    cfg = ConfigParser()
    cfg.optionxform = str   # 保持键的大小写
    cfgFile = 'config.ini'
    if not os.path.exists(cfgFile):
        input(cfgFile + ' not found')
        sys.exit(-1)
    with open(cfgFile, mode='rb') as f:
        content = f.read()
    if content.startswith(b'\xef\xbb\xbf'):     # 去掉 utf8 bom 头
        content = content[3:]
    cfg.read_string(content.decode('utf8'))
    if not cfg.sections():
        input('Read config.ini failed...')
        sys.exit(-1)
    
    dic = OrderedDict()
    for section in cfg.sections():
        dic[section] = OrderedDict()
        for option in cfg.options(section):
            dic[section][option] = cfg.get(section, option).strip()

    #pprint(dic) 
    print('Read %s completed!' % cfgFile)
    
    return dic



*** walker ***


--结束END--

本文标题: Python3 读取 ini 配置文件(

本文链接: https://www.lsjlt.com/news/192589.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python3 读取 ini 配置文件(
    【背景】  Windows 的记事本会给 UTF-8 文件添加 BOM 头,很烦,搞个通用的读取配置文件的代码。可能报这种错误:configparser.MissingSectionHeaderError: File contains no...
    99+
    2023-01-31
    配置文件 ini
  • 通过python读取ini配置文件
    ini是啥你可以理解为就是一个配置文件的统称吧。比如test.conf,这样的你可以理解为他就是ini文件,里面一般存放一些配置信息。比如数据库的基本信息,一会我们进行讲解!那么ta的好处是啥呢?就是把一些配置信息提出去来进行单独管理,如果...
    99+
    2023-01-31
    配置文件 python ini
  • python如何读取ini配置文件
    Python提供了一个标准库`configparser`用于读取和修改INI文件。首先,需要导入`configparser`模块:`...
    99+
    2023-10-08
    python
  • Python3 读取 toml 配置文件
    【吐槽】    先吐槽一下其他几个配置文件。ini:表达能力不够,比如不能表达列表等结构;没有官方注释符号,虽然一般以分号作为注释符号。json:没有官方注释符号,虽然某些第三方包提供了注释结构。yaml:语法比较复杂,可读性不太高。【to...
    99+
    2023-01-31
    配置文件 toml
  • golang读取各种配置文件(ini、json、yaml)
    目录viper读取ini文件viper读取json文件viper读取yaml文件日常项目中,读取各种配置文件是避免不了的,这里介绍一个能读取多种配置文件的库,viper viper读...
    99+
    2022-11-13
  • python读取/写入配置文件ini方法
    在写测试脚本时,经常有一些需要变动的数据,可以单独放在ini文件里,然后读取传递给 相应的函数,这样程序操作更灵活。具体的方法介绍如下: 文件结构: Cofig.ini内容:[test1]ip = 10.10.10.10 [test2]po...
    99+
    2023-01-31
    配置文件 方法 python
  • golang怎么读取ini、json、yaml配置文件
    本文小编为大家详细介绍“golang怎么读取ini、json、yaml配置文件”,内容详细,步骤清晰,细节处理妥当,希望这篇“golang怎么读取ini、json、yaml配置文件”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来...
    99+
    2023-06-30
  • python 读取 ini配置
    #config.ini文件 [main] version = 20110921 [win] pos = 0,0 >>>import ConfigParser # <strong>RawConfigPar...
    99+
    2023-01-31
    python ini
  • Shell脚本读取标准ini配置文件Demo
    ini DEMO [TESTFTP] host=127.0.0.1 name=my pass=mylove type=ftp [TESTSSH] host=127.0.0.1 name=my pass=m...
    99+
    2022-06-04
    配置文件 脚本 标准
  • Shell中怎么读取ini格式配置文件
    Shell中怎么读取ini格式配置文件,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。代码如下:[COM]KINGGOO = jb51.net其实这个作用没那么特...
    99+
    2023-06-09
  • GO语言ini配置文件的读取的操作
    iniconf 博主前两天在写一个小的go语言项目,想找一个读取ini格式配置和的三方库,在网上找了一圈感觉都不是很好用, 使用起来非常的奇怪,于是自己写了一版,还有两个接口没...
    99+
    2022-06-07
    ini GO
  • Shell实现读取ini格式配置文件方法
    ini文件格式一般都是由节、键、值三部分组成 格式: [第一节 ] 第一个键 = 值 第二个键 = 第二个值 [第二节 ] 第一个键 = val1,val2,val3 例子: [COM] KINGGOO...
    99+
    2022-06-04
    配置文件 格式 方法
  • Shell脚本读取ini配置文件的实现方法
    本篇内容介绍了“Shell脚本读取ini配置文件的实现方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、简单版参考stackoverfl...
    99+
    2023-06-09
  • Shell脚本怎么读取标准ini配置文件Demo
    这篇文章主要讲解了“Shell脚本怎么读取标准ini配置文件Demo”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Shell脚本怎么读取标准ini配置文件Demo”吧!ini DEMO代码如...
    99+
    2023-06-09
  • Python配置文件管理之ini和yaml文件读取的实现
    1. 引言 当我们设计软件时,我们通常会花费大量精力来编写高质量的代码。但这往往还不够,一个好的软件还应该考虑其整个系统,如测试、部署、网络等。其中最重要的一个方面是配置管理。 良好...
    99+
    2023-02-28
    Python ini文件读取 Python ini和yaml文件读取
  • ini配置文件
    ini配置文件 ini文件是initialization file的缩写,即初始化文件,是widows系统配置文件所采用的存储格式。 文件扩展名: .ini ini配置文件的后缀名也不一定必须是....
    99+
    2023-08-31
    开发语言 ini python c
  • QT中怎么读写ini配置文件
    这篇文章主要介绍“QT中怎么读写ini配置文件”,在日常操作中,相信很多人在QT中怎么读写ini配置文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”QT中怎么读写ini配置文件”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-21
  • QT中如何读写ini配置文件
    如图1所示,我们需要在QT界面中实现手动读取参数存放的位置,那么我们该如何做呢? 方法:读取ini格式的配置文件,实现路径的写入与读取。 第一步:界面构造函数中,初始化一个Conf...
    99+
    2022-11-12
  • C语言读取写入ini配置文件的方法实现
    目录一、了解什么是INI文件?二、INI文件的格式三、解析上述文件四、测试如下一、了解什么是INI文件? ini 文件是Initialization File的缩写,即初始化文件,这...
    99+
    2022-11-12
  • GO语言ini配置文件的读取操作示例分析
    小编给大家分享一下GO语言ini配置文件的读取操作示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!go适合做什么go是golang的简称,而golang可以...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作