<rp id="9thzz"><acronym id="9thzz"></acronym></rp>
    1. <dd id="9thzz"></dd>
    2. 首页 > Python教程 > Python应用 > python开发:配置文件写入过程的代码解析

      python开发:配置文件写入过程的代码解析

      时间:2019-10-20    作者:鲲鹏展翅高飞   来源:互联网

      python配置文件有.conf,.ini,.txt等多种

      python集成的 标准库的 ConfigParser 模块提供一套 API 来读取和操作配置文件

      我的配置文件如下

      [MOTOR]
      comnum = 3
      baud = 19200
      m1slowstep = 10
      m1faststep = 100
      m1origin = 5
      m2slowstep = 10
      m2faststep = 50
      m2origin = 5
      
      [CoarseAdjust]
      standardx = 0.000000
      standardy = 0.000000
      xperangle = 500
      yperangle = 160
      xmotor = 1
      xmotororien = -1
      ymotor = 2
      ymotororien = 1
      triggermode = 1
      triggertimeout = 1
      autoadjust = 1
      
      [FineAdjust]
      countdown = 10
      datfilepath = E:\Mcs05\DatTemp\
      xfinestep = 10
      yfinestep = 10
      mcsfilepath = E:\Mcs05\WHTest\
      filetype = Mcs
      nastartaltitude = 80
      naendaltitude = 111
      rayleighstartaltitude = 20
      rayleighendaltitude = 60
      fineadjustfilepath = E:\Mcs05\
      methodselect = 01
      
      [EASYMCS]
      chname = WHTest
      prefixion = R
      mcstheshold = 1.4
      numofbins = 2048
      binwidth = 640
      numofpluse = 30
      mcs32path = D:\software\MCS32\
      mcs32filepath = E:\Mcs05\
      
      [GYRO]
      comno = 15
      baud = 9600

      当我进行读写操作时,发现

      # 读取配置文件
      import ConfigParser
      config = ConfigParser.ConfigParser()
      config.readfp(open('GloVar.ini'))
      a = config.get("CoarseAdjust","MD5")
      print a
      
      # 写入配置文件
      import ConfigParser
      config = ConfigParser.ConfigParser()
      # set a number of parameters
      config.add_section("CoarseAdjust")
      config.set("CoarseAdjust", "xperangle", "1000")
      config.set("CoarseAdjust", "yperangle", "500")

      发现配置文件中的内容并没有发生改变,为什么?

      上面的这种修改方式只是修改了python中内存的值,并没有对配置文件的内容进行修改,并真实地写入

      真正地修改方式应该是

      """修改并保存在配置文件中"""
      # coding:utf-8
      import configparser
      
      # 创建管理对象
      conf = configparser.ConfigParser()
      conf.read('GloVar.ini', encoding='utf-8')
      print(conf.sections())
      
      # 往section添加key和value
      conf.set("CoarseAdjust", "xPerAngle", "{}".format(500))
      conf.set("CoarseAdjust", "yPerAngle", "160")
      items = conf.items('CoarseAdjust')
      print(items) # list里面对象是元祖
      
      conf.write(open('GloVar.ini', "r+", encoding="utf-8")) # r+模式

      ConfigParser 模块需要注意的是

      • 不能区分大小写。
      • 重新写入的配置文件不能保留原有配置文件的注释。
      • 重新写入的配置文件不能保持原有的顺序。
      • 不支持嵌套。
      • 不支持格式校验

      以上就是本文的全部内容,希望对大家的学习有所帮助

      相关推荐
      Python:关于内存分配时的那些小秘密分享
      分享:Django Admin中增加导出CSV功能过程详解
      Python教程:面向对象之Web静态服务器

      精彩推荐

      热门教程

      99热 久久99热视频只有精品 玖玖热爱视频精品 99热这里只有精品 久久re热这里只是精品