python配置文件写入过程详解


Posted in Python onOctober 19, 2019

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 相关文章推荐
Python操作MongoDB数据库PyMongo库使用方法
Apr 27 Python
CentOS 7下Python 2.7升级至Python3.6.1的实战教程
Jul 06 Python
python Spyder界面无法打开的解决方法
Apr 27 Python
面向初学者的Python编辑器Mu
Oct 08 Python
强悍的Python读取大文件的解决方案
Feb 16 Python
Python实现截取PDF文件中的几页代码实例
Mar 11 Python
python3 enum模块的应用实例详解
Aug 12 Python
Python使用多进程运行含有任意个参数的函数
May 02 Python
Python如何读取、写入JSON数据
Jul 28 Python
Python读写csv文件流程及异常解决
Oct 20 Python
tensorflow+k-means聚类简单实现猫狗图像分类的方法
Apr 28 Python
Python实现拼音转换
Jun 07 Python
python实现广度优先搜索过程解析
Oct 19 #Python
python字符串格式化方式解析
Oct 19 #Python
基于python3监控服务器状态进行邮件报警
Oct 19 #Python
使用python绘制温度变化雷达图
Oct 18 #Python
详解numpy矩阵的创建与数据类型
Oct 18 #Python
Python 3.6打包成EXE可执行程序的实现
Oct 18 #Python
详解pyinstaller selenium python3 chrome打包问题
Oct 18 #Python
You might like
介绍几个array库的新函数 php
2006/12/29 PHP
MayFish PHP的MVC架构的开发框架
2009/08/13 PHP
php环境套包 dedeampz 伪静态设置示例
2014/03/26 PHP
php截取视频指定帧为图片
2016/05/16 PHP
如何修改yii2.0自带的user表为其它的表
2017/08/01 PHP
插件:检测javascript的内存泄漏
2007/03/04 Javascript
JS实现淘宝幻灯片效果的实现方法
2013/03/22 Javascript
javascript右下角弹层及自动隐藏(自己编写)
2013/11/20 Javascript
Javascript实现带关闭按钮的网页漂浮广告代码
2014/01/12 Javascript
使用js判断TextBox控件值改变然后出发事件
2014/03/07 Javascript
javascript实现获取字符串hash值
2015/05/10 Javascript
总结JavaScript中布尔操作符||与&&的使用技巧
2015/11/17 Javascript
JS中BOM相关知识点总结(必看篇)
2016/11/22 Javascript
浅谈ES6新增的数组方法和对象
2017/08/08 Javascript
深入浅出es6模板字符串
2017/08/26 Javascript
Vue 路由 过渡动效 数据获取方法
2018/07/31 Javascript
BootStrap table实现表格行拖拽效果
2018/12/01 Javascript
TypeScript 引用资源文件后提示找不到的异常处理技巧
2020/07/15 Javascript
原生js实现自定义难度的扫雷游戏
2021/01/22 Javascript
[47:52]完美世界DOTA2联赛PWL S2 PXG vs InkIce 第二场 11.26
2020/11/30 DOTA
python pdb调试方法分享
2014/01/21 Python
python常用知识梳理(必看篇)
2017/03/23 Python
python发送告警邮件脚本
2018/09/17 Python
python 爬取古诗文存入mysql数据库的方法
2020/01/08 Python
django中related_name的用法说明
2020/05/20 Python
关于iframe跨域使用postMessage的实现
2019/10/29 HTML / CSS
美国社交购物市场:MassGenie
2019/02/18 全球购物
《高尔基和他的儿子》教学反思
2014/04/09 职场文书
《陈涉世家》教学反思
2014/04/12 职场文书
《画家乡》教学反思
2014/04/22 职场文书
给领导的感谢信范文
2015/01/23 职场文书
关于调整工作时间的通知
2015/04/24 职场文书
还在手动盖楼抽奖?教你用Python实现自动评论盖楼抽奖(一)
2021/06/07 Python
python简单验证码识别的实现过程
2021/06/20 Python
go使用Gin框架利用阿里云实现短信验证码功能
2021/08/04 Golang
Android开发EditText禁止输入监听及InputFilter字符过滤
2022/06/10 Java/Android