python读取配置文件

工作原因,作python脚本对系统生成的文件进行处理。在读取配置文件时,遇见麻烦,以前没接触过python,不知道有专门的模块处理。总结下用到的知识:


配置文件:a.ini
[info]
b = 45
[list]
listone = ['01',02]

python文件:

import configparser
 
cf = configparser.ConfigParser()
 
cf.read("I:/a.ini")


secs = cf.sections()
print(secs)


name=cf.get("info","b") 
print(name)

info = cf.options("info")
print(info)
 
list= cf.items("list")
print(list)

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">执行结果:</span>

>>> ================================ RESTART ================================
>>> 
['info', 'list']
45
['b']
[('listone', "['01',02]")]
>>> 


明明是首先搜索了点要点,却还是碰见了些问题,总结记录下:
首先,对于import的引入,
ImportError: No module named 'ConfigParser'


The ConfigParser module has been renamed to configparser in
Python 3.  The 2to3 tool will automatically adapt imports when
converting your sources to Python 3.


2.windows路径的问题:
Windows下的文件目录路径使用反斜杠“\”来分隔。但是,Python代码里面,反斜杠“\”是转义符,例如“\n”表示回车、“\t”表示制表符等等。这样,如果继续用windows习惯使用“\”表示文件路径,就会产生歧义。
      例如:“c:\test.txt”这表示c盘根目录下的一个文件,还是表示一个字符串呢?因为“\t”也可以解释为制表符。如果让我们人来判断,这当然是一个很简单的问题。但是机器就无法做出正确的判断了,只有没有歧义的代码机器才会正确执行。
      解决办法,采用下面任何一种书写形式均可:
使用斜杠“/”: "c:/test.txt"… 不用反斜杠就没法产生歧义了 
将反斜杠符号转义: "c:\\test.txt"… 因为反斜杠是转义符,所以两个"\\"就表示一个反斜杠符号 
使用Python的raw string: r"c:\test.txt" … python下在字符串前面加上字母r,表示后面是一个原始字符串raw string,不过raw string主要是为正则表达式而不是windows路径设计的,所以这种做法尽量少用,可能会出问题。


3.还有些函数因为本次也没有使用,所以没有多研究
1) 基本的读取配置文件
     -read(filename) 直接读取ini文件内容
     -sections() 得到所有的section,并以列表的形式返回
     -options(section) 得到该section的所有option
     -items(section) 得到该section的所有键值对
     -get(section,option) 得到section中option的值,返回为string类型
     -getint(section,option) 得到section中option的值,返回为int类型,还有相应的getboolean()和getfloat() 函数。
 
2) 基本的写入配置文件
     -add_section(section) 添加一个新的section
     -set( section, option, value) 对section中的option进行设置,需要调用write将内容写入配置文件。  


以上。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值