返回顶部
首页 > 资讯 > 后端开发 > Python >ini配置文件
  • 825
分享到

ini配置文件

开发语言inipythonc 2023-08-31 06:08:22 825人浏览 独家记忆

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

摘要

ini配置文件 ini文件是initialization file的缩写,即初始化文件,是widows系统配置文件所采用的存储格式。 文件扩展名: .ini ini配置文件的后缀名也不一定必须是.

ini配置文件

ini文件是initialization file的缩写,即初始化文件,是widows系统配置文件所采用的存储格式。

文件扩展名: .ini

ini配置文件的后缀名也不一定必须是.ini, 也可以是.cfg, .conf或者是.txt

ini文件格式

ini配置文件由参数, 节, 注解组成

参数(parameter)

以键值对的形式存在

name=value

每个参数都有一个name和一个value,name和value由等号=分隔

节(section)

  1. 所有的键值对都是以节section为单位结合在一起的

  2. 所有的section名称都是独占一行,并且section名字都被方括号包围着[ ]

  3. 在section声明后的所有parameters都属于这个section

  4. 一个section没有明显的结束标识符,一个section的开始就是上一个section的结束

  5. section不能重复,数据通过section去查找,每个seletion下可以有多个key和value的键值对

[section]

注解

comments使用分号表示, 在分号后面的文字,直到该行结尾全部为注解。

;comment ini文件的数据格式例子

例子

[Section1] ;section namekeyname1=value1keyname2=value2[Section2] ;section namekeyname3=value3keyname4=value4

section用来表示一个段落,ini文件可能是项目中共用的,使用section段名来区分不同用途的参数区

;串口配置实例[port]portname=COM4port=4

其他说明

  • windows系统中,INI文件很多,最重要的是System.ini , System32.ini 和 Win.ini
  • ini文件主要存放用户所作的选择以及系统的各种参数,用户可用通过修改ini文件,来改变应用程序和系统的很多配置
  • 从windows95开始,在windows系统中推出了注册表的概念,ini文件在windows系统的地位开始下降。注册表可以使程序和系统都把许多参数和初始化信息存放进注册表中。
  • 通常将服务器相关的配置信息写入到ini配置文件,然后ini配置文件的路径通过系统环境变量XXX_CONFIG_PATH来进行动态指定

ini配置文件(python)

python3中自带configparser模块来读取ini文件

import configparser#文件路径cfgpath = "cfg.ini"# 创建管理对象conf = configparser.ConfigParser()# 读ini文件conf.read(cfgpath,encoding="utf-8")     #Python3需要加个参数:encoding="utf-8"# 获取所有的sectionsections = conf.sections()print(sections)  # 返回listitems = conf.items('serialport')  # 参数是 section的名称print(items)  # list里面对象是元祖

remove

# 删除一个section中的一个item(以键值KEY为标识)conf.remove_option('serialport', "port")      # 参数  section名   key名# 删除整个section这一项conf.remove_section('serialport')

add

# 添加一个sectionconf.add_section("serialport")
# 往section添加key和valueconf.set("serialport", "port", "com4")

write

write写入有两种方式

  1. 删除原文件内容,重新写入

    conf.write(open(cfgpath, "w"))  # 删除原文件重新写入
  2. 在原文件基础上继续写入内容,追加模式

    conf.write(open(cfgpath, "a"))  # 追加模式写入

remove和set方法并没有真正的修改ini文件内容,只有当执行conf.write()方法的时候,才会修改ini文件内容

写入中文的话,需要加上写入的编码格式:encoding=“utf-8”

# 修改section里面的值conf.set("week", "day", "星期一")  # 写入中文conf.write(open(cfgpath, "a", encoding="utf-8"))  # a模式 编码格式

python例子

  1. config.ini文件

    [strings] #Mode: train, test, serve配置执行器的工作模式 mode = train #配置模型文件的存储路径 working_directory = model #配置训练文件的路径 dataset_path=train_data/ [ints] #配置分类图像的种类数量 num_dataset_classes=10 #配置训练数据的总大小 dataset_size=50000 #配置图像输入的尺寸 im_dim=32 num_channels = 3 #配置训练文件的数量 num_files=5 #配置每个训练文件中的图像数量 images_per_file=10000 #配置批训练数据的大小 batch_size=32 [floats] #配置Dropout神经元失效的概率 rate=0.5 
  2. 解析

    import configparser #定义读取配置文件函数,分别读取section的配置参数,section包括ints、floats、strings def get_config(config_file='./config.ini'):     parser=configparser.ConfigParser()     parser.read(config_file,encoding="utf-8")     #获取整型参数,按照key-value的形式保存     _conf_ints = [(key, int(value)) for key, value in parser.items ('ints')]     #获取浮点型参数,按照key-value的形式保存     _conf_floats = [(key, float(value)) for key, value in parser.items ('floats')]     #获取字符型参数,按照key-value的形式保存     _conf_strings = [(key, str(value)) for key, value in parser.items ('strings')]     #返回一个字典对象,包含读取的参数     print(_conf_ints)    return dict(_conf_ints + _conf_floats + _conf_strings) 

返回的就是 字典类型

ini配置文件(C语言)

详细可以参考: https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-getprivateprofileint

write

  • WritePrivateProfileString

    BOOL WritePrivateProfileString(  [in] LPCSTR lpAppName,  [in] LPCSTR lpKeyName,  [in] LPCSTR lpString,  [in] LPCSTR lpFileName);
    • lpAppName

      节section名

    • lpKeyName

      键值对的键名,如果为NULL,删除整个节

    • lpString

      键值对的值,如果为NULL,对应的键将被删除

    • lpFileName

      ini文件路径及名称

    • 返回值:成功非0,失败0

read

  • GetPrivateProfileInt

    UINT GetPrivateProfileInt(  [in] LPCTSTR lpAppName,  [in] LPCTSTR lpKeyName,  [in] INT     nDefault,  [in] LPCTSTR lpFileName);
    • lpAppName 节名
    • lpKeyName 键名
    • nDefault 默认值,如果没找到则返回
    • lpFileName ini文件名
    • 返回键对应的值,失败返回默认值
  • GetPrivateProfileString

    DWord GetPrivateProfileString(  [in]  LPCTSTR lpAppName,  [in]  LPCTSTR lpKeyName,  [in]  LPCTSTR lpDefault,  [out] LPTSTR  lpReturnedString,  [in]  DWORD   nSize,  [in]  LPCTSTR lpFileName);
    • lpReturnedString 接收返回数组的buf
    • nSize buf的大小
    • 返回复制到lpReturnedString中的字节数

c例子

  1. 读配置文件

    [strings] mode = train [ints] dataset_size=50000 [floats]rate=0.5 
    #include #include int main(){char mode [50];int mode_len =  GetPrivateProfileString(  "strings",  "mode",  NULL,  mode,  50,  "./config.ini");int dataset_size = GetPrivateProfileInt(  "ints",  "dataset_size",  0,  "./config.ini");printf("mode: %s\r\n",mode);printf("dataset_size: %d\r\n",dataset_size);return 0;}
  2. 读浮点数

    没有内置读浮点数的函数,需要自己实现一个。

    float GetPrivateProfileFloat(LPCSTR lpAppName,LPCSTR lpKeyName,INT nDefault,LPCSTR lpFileName){float f = nDefault;char strValue[50] = {0};GetPrivateProfileString(lpAppName,lpKeyName,"",strValue,50,lpFileName);if(strlen(strValue) != 0){f= (float)atof(strValue);}return f;}

参考

微软手册: Https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-getprivateprofileint

来源地址:https://blog.csdn.net/first_bug/article/details/129693732

--结束END--

本文标题: ini配置文件

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

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

猜你喜欢
  • ini配置文件
    ini配置文件 ini文件是initialization file的缩写,即初始化文件,是widows系统配置文件所采用的存储格式。 文件扩展名: .ini ini配置文件的后缀名也不一定必须是....
    99+
    2023-08-31
    开发语言 ini python c
  • Python3 读取 ini 配置文件(
    【背景】  Windows 的记事本会给 UTF-8 文件添加 BOM 头,很烦,搞个通用的读取配置文件的代码。可能报这种错误:configparser.MissingSectionHeaderError: File contains no...
    99+
    2023-01-31
    配置文件 ini
  • Python ini配置文件示例详解
    目录INI介绍关于configparserINI文件格式读取配置文件写入配置文件总结INI介绍 INI是英文“初始化”(initialization)的缩写,...
    99+
    2024-04-02
  • python如何读取ini配置文件
    Python提供了一个标准库`configparser`用于读取和修改INI文件。首先,需要导入`configparser`模块:`...
    99+
    2023-10-08
    python
  • 怎么用Python的ini配置文件
    今天小编给大家分享一下怎么用Python的ini配置文件的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。INI介绍INI是英文...
    99+
    2023-06-29
  • 通过python读取ini配置文件
    ini是啥你可以理解为就是一个配置文件的统称吧。比如test.conf,这样的你可以理解为他就是ini文件,里面一般存放一些配置信息。比如数据库的基本信息,一会我们进行讲解!那么ta的好处是啥呢?就是把一些配置信息提出去来进行单独管理,如果...
    99+
    2023-01-31
    配置文件 python ini
  • Python的ini配置文件你了解吗
    目录INI介绍关于configparserINI文件格式读取配置文件总结INI介绍 INI是英文“初始化”(initialization)的缩写,被用来对操作...
    99+
    2024-04-02
  • QT中怎么读写ini配置文件
    这篇文章主要介绍“QT中怎么读写ini配置文件”,在日常操作中,相信很多人在QT中怎么读写ini配置文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”QT中怎么读写ini配置文件”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-21
  • Python的ini配置文件怎么写入
    本文小编为大家详细介绍“Python的ini配置文件怎么写入”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python的ini配置文件怎么写入”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。INI介绍INI是英文...
    99+
    2023-06-29
  • QT中如何读写ini配置文件
    如图1所示,我们需要在QT界面中实现手动读取参数存放的位置,那么我们该如何做呢? 方法:读取ini格式的配置文件,实现路径的写入与读取。 第一步:界面构造函数中,初始化一个Conf...
    99+
    2024-04-02
  • Python中ini配置文件读写的实现
    导入模块 import configparser # py3 写入 config = configparser.ConfigParser() config["DEFAULT"] ...
    99+
    2024-04-02
  • golang读取各种配置文件(ini、json、yaml)
    目录viper读取ini文件viper读取json文件viper读取yaml文件日常项目中,读取各种配置文件是避免不了的,这里介绍一个能读取多种配置文件的库,viper viper读...
    99+
    2024-04-02
  • golang怎么读取ini、json、yaml配置文件
    本文小编为大家详细介绍“golang怎么读取ini、json、yaml配置文件”,内容详细,步骤清晰,细节处理妥当,希望这篇“golang怎么读取ini、json、yaml配置文件”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来...
    99+
    2023-06-30
  • python读取/写入配置文件ini方法
    在写测试脚本时,经常有一些需要变动的数据,可以单独放在ini文件里,然后读取传递给 相应的函数,这样程序操作更灵活。具体的方法介绍如下: 文件结构: Cofig.ini内容:[test1]ip = 10.10.10.10 [test2]po...
    99+
    2023-01-31
    配置文件 方法 python
  • 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
    配置文件 脚本 标准
  • java 读写 ini 配置文件的示例代码
    下面通过代码先看下java 读写 ini 配置文件,代码如下所示: package org.fh.util; import java.io.BufferedReader; impo...
    99+
    2024-04-02
  • Shell中怎么读取ini格式配置文件
    Shell中怎么读取ini格式配置文件,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。代码如下:[COM]KINGGOO = jb51.net其实这个作用没那么特...
    99+
    2023-06-09
  • Shell实现读取ini格式配置文件方法
    ini文件格式一般都是由节、键、值三部分组成 格式: [第一节 ] 第一个键 = 值 第二个键 = 第二个值 [第二节 ] 第一个键 = val1,val2,val3 例子: [COM] KINGGOO...
    99+
    2022-06-04
    配置文件 格式 方法
  • GO语言ini配置文件的读取的操作
    iniconf 博主前两天在写一个小的go语言项目,想找一个读取ini格式配置和的三方库,在网上找了一圈感觉都不是很好用, 使用起来非常的奇怪,于是自己写了一版,还有两个接口没...
    99+
    2022-06-07
    ini GO
  • Python常用配置文件ini、json、yaml读写总结
    本文参考文章,出于学习目的,写本文。 开发项目时,为了维护一些经常需要变更的数据,比如数据库的连接信息、请求的url、测试数据等,需要将这些数据写入配置文件,将数据和代码分离,只需要...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作