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

常用配置文件-ini文件

ini格式的文件由多个部分组成,每个部分都由一个[section]标题开头,然后由特定的字符串(=或者:, 默认是=)分割的键/值条目。默认情况下,[section]的名称是区分大小写的,而后面键是不区分大小写的。前面和后面的空格,将会从键和值中删除。配置文件中也可能包含注释部分,由特定字符(#或者;,默认是#)界定,值得注意的是,注释部分不可与键值处于同一行。值也是可以跨多行的,只要值在换行时,缩进的深度比第一行的要深就行!

ini格式文件的基本格式如下:

[section1]
key1 = value1
key2 = value2
....

Python本身内置的configparser标准库可以很轻松的读取和写入此类文件。

写入文件

下面,我们使用configparser库来将一些配置写入到.ini格式文件当中:

from configparser import ConfigParserparser = ConfigParser()
parser['default'] = {'host': '0.0.0.0','port': 6000,'duration': 1.3,'debug': False
}
parser['testing'] = {'host': '127.0.0.1','port': 6001,'duration': 1.3,'debug': True
}
with open('settings.ini', 'w') as f:parser.write(f)

执行完毕之后,正常情况下,会在当前目录之下生成一个名为settings.ini的文件,内容如下:

[default]
host = 0.0.0.0
port = 6000
duration = 1.3
debug = False[testing]
host = 127.0.0.1
port = 6001
duration = 1.3
debug = True

读取文件

上面,我们已经创建并保存了一个.ini文件,下面我们来读取它:

from configparser import ConfigParserparser = ConfigParser()
parser.read('settings.ini')
sections = parser.sections()
print(type(sections), sections)                                                 # <class 'list'> ['default', 'testing']
print('default' in sections)                                                    # True
print('fff' in sections)                                                        # False
topsecret = parser['default']
print(type(topsecret), topsecret)                                               # <class 'configparser.SectionProxy'> <Section: default>
print(topsecret.get('host'), topsecret.get('d'))               
http://www.lryc.cn/news/2414591.html

相关文章:

  • JAVA静态变量是什么
  • 最短路径算法汇总
  • Java 快速入门指南
  • PLSQL Developer(安装、连接、汉化、注册图文教程)
  • 创建ROS消息(msg)和服务(srv)
  • 当你在浏览器输入www.xxx.com的时候会发生什么?
  • TLE两行轨道根数
  • QFAV——快速免费拼装你的视频会议
  • ubuntu 安装中文输入法(超简靠谱版)
  • 带宽是什么?
  • Java数字格式类 NumberFormat | DecimalFormat
  • rides介绍和安装
  • java web报表,jasperReport使用简介
  • git 某个分支代码回滚到某次push的步骤
  • 什么是线程安全和非线程安全
  • Java04方法
  • SFR解析算法 - SFR_Calculation (C语言)
  • Fiddler 4 安卓APP抓包教程
  • 施密特正交化(Gram-Schmidt Orthogonalization)
  • Python学习之pandas模块duplicated函数的常见用法
  • Oracle创建新用户以及配置权限(个人使用版)
  • 你在浏览器输入了baidu.com 并按下回车后,背后到底发生了什么?
  • Cora 数据集介绍+ALL in One,Multi task graph prompt, ProG代码解释
  • WIFI渗透
  • XCP协议基础知识 - 协议层
  • GetTickCount()与GetThreadTime()
  • Ubuntu系统中开启root用户的方法
  • HTTP Referer介绍和使用
  • Windows下安装PaddlePaddle和PaddleSeg
  • 【SQL Server】入门教程-基础篇(一)