python的configparser模块可以用来生成/处理类似下面的配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
[Section1] Option1 = 1 Option2 = 2 DoNotList = 1 [Section2] Option3 = 3 Option4 = 4 MustDisplay = 1 2 3 [Section3] Option5 = 5 Option6 = 6 |
今天要做的是通过configparser模块读取已有的ini文件并过滤出需要的section项,需求很简单,提取满足如下条件的section名字:
1.包含DoNotList项且值不为0
2.不包含DoNotList项但是包含了MustDisplay项
3.标注其他不满足上述两条件的section
经过google学习,使用方法如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
import configparser #outputFile=open('ConfigSample_filter.ini','w+') cf=configparser.ConfigParser() cf.read('ConfigSample.ini') for s in cf.sections(): #print(cf.options(s)) if ('donotlist' in cf.options(s)): if (cf.get(s,'DoNotList') == '0'): print(s) #outputFile.write(s + '\n') elif ('mustdisplay' in cf.options(s)): print(s) #outputFile.write(s + '\n') else: print('CHECK= ' + s) #outputFile.write('CHECK= ' + s + '\n') #outputFile.close() |
如果需要保存文件,只需将第3,11,14,18行注释取消。用python来处理日常问题真的是很方便,接下来的时间要再深入全面的去学习。
PS:configparser是不会区分ini配置文件里面的大小写的,也就说在ini文件里面出现的DoNotList,在python脚本中要写成donotlist才能识别
您好,我是Fesco adecco的招聘顾问。
受美国硅谷云存储公司委托,寻求售后支持工程师+解决方案工程师,base地在北京。
公司在云存储技术上有飞跃型的突破,薪资丰厚,工作灵活;
请保留我的联系方式,在您想转换职业方面,规划未来的时候,
也许,我将成为您的合作伙伴。盼联系。
yang.song@fescoadecco.com; 15907554088(手机+微信)