zoukankan      html  css  js  c++  java
  • python解析.ini文件--configparser模块(内置)

    第一part:.ini文件的介绍


     1.ini 文件的含义:

    是Initialization File的缩写(初始化文件),是windows的系统配置文件所采用的存储格式,统管windows的各项配置,一般用户就用windows提供的各项图形化管理界面就可实现相同的配置了。

    2.ini文件的内容结构:
    一个ini文件主要是由多个section组成,每个section中又有多个option,其每个option的格式是key=value键值对的形式进行存储;

    注意:section不能重复,里面数据通过section去查找,每个seletion下可以有多个key和vlaue的键值对,注释用英文分号(;)


     第二part:python读取.ini文件的内容--》read


     操作.ini文件可以直接使用python的内置模块:configparser

    #1.导包
    import configparser
    #2创建对象
    read_ini = configparser.ConfigParser()
    #3.读取文件内容
    read_ini.read("Database.ini")
    #第一种读取ini文件方式,直接读取
    value = read_ini['mysql']['user']
    print("第一种方法读取的值:",value)
    # 第二种读取ini文件方式,通过get方法
    value = read_ini.get('mysql','db')
    print('第二种方法读取到的值:',value)
    # 第三种读取ini文件方式,读取到一个section中的所有数据,返回一个列表
    value = read_ini.items('mysql')
    print('第三种方法读取到的值:',value)

    执行结果如下:

     通过上面三种方式,可以发现读取到的数据全部是str类型,但数据库的端口我们一般都是要获取为int类型,因此可以通过如下几个方法可以将其转换为我们需要的数据类型:

    1)getint() 读取的数据为int类型

    #读取到值为int类型
    value=read_ini.getint('mysql','port')
    print('读取到值为int类型:',value)
    print('value的类型为:',type(value))
    执行结果,如下:

    2)getfloat()读取的数据为float类型

    #读取到值为float类型
    value=read_ini.getfloat('study','price')
    print('读取到值为float类型:',value)
    print('value的类型为:',type(value))
    执行结果,如下:

    3)getboolean() 读取的数据为Boolean类型#读取到值为boolean类型

    value=read_ini.getboolean('study','result')
    print('读取到值为boolean类型:',value)
    print('value的类型为:',type(value))
    执行结果,如下:


     第三part:python写入内容到.ini文件-->write


     写入有两种方式:一种是删除原文件内容,重新写入:w;另外一种是在原文件基础上继续写入内容,追加模式写入:a

    1)重新写入:w

    #重新写入
    read_ini.write(open("Database.ini"),'w')

    2)追加模式写入:a

    #追加写入
    read_ini.write(open("Database.ini"),'a')

    3)在ini文件上追加写入一项section内容

    # 添加一个setion

    read_ini.add_section("teacher_info")

    print(read_ini.sections())

    4)在ini文件的section上添加option

    # 往setion添加key和value
    read_ini.set("info", "English", "Miss huang")

    整体代码:

    #1.导包
    import configparser
    #2创建对象
    read_ini = configparser.ConfigParser()

    #3. 添加一个setion
    read_ini.add_section("info")
    #4.打印所有的section
    print(read_ini.sections())
    #5.在section里添加一个option
    read_ini.set("info","English","Miss Huang")
    #6.以追加的模式写入
    with open("Database.ini","a",encoding="utf-8") as fp:
    fp.seek(2) #此处记得让流的指针设置到文件末尾,否则追加格式不好看
    read_ini.write(fp)

    运行后会发现ini文件最后新增了写入的内容:

  • 相关阅读:
    org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): 问题解决方法
    springboot入门(一)--快速搭建一个springboot框架
    SpringBoot 中常用注解@Controller/@RestController/@RequestMapping介绍
    理解Spring4.0新特性@RestController注解
    Intellij IDEA 搭建Spring Boot项目(一)
    Java checked 异常 和 RuntimeException(运行时异常)
    Java 如何抛出异常、自定义异常、手动或主动抛出异常
    微服务设计
    为什么需要API网关?
    微服务API网关
  • 原文地址:https://www.cnblogs.com/smilecindy/p/13779466.html
Copyright © 2011-2022 走看看