首頁 > 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靜態服務器

精彩推薦

熱門教程

重庆时时开奖直播app 摆摊卖俄罗斯军工牛皮凉鞋赚钱吗 排列三走势图彩吧助手 福彩开奖2017119 我想赚钱养你 德州app哪个最好 暴利赚钱项目55招书 包小工程赚钱吗 云南时时彩 二分彩走势图怎么看性别 有没有苹果手机打牌可以赚钱的游戏 汕头圣千公司是怎么让员工赚钱的 水果店什么水果最赚钱之道 高财商存钱赚钱 中彩票大奖 俺也赚钱了 买彩票国家有网站吗