python 配置文件解析_python 解析配置文件
#!/usr/bin/env python
#coding=utf-8
#上面来显示中文的。不然中文会出问题
'''
说明:输入的文件,#开头的一行默认是注释符号,这一行不计入处理,其余的都是有效行,有效行遇到#也结束
作者:
最后修改时间:2014-04-22
'''
#import pdb
import fileinput
#pdb.set_trace()
def getName(line):
#找到起始位置,因为格式是name = "A",所以找第一个“
start = line.find('"')
if start == -1:
print 'sorry,your file maybe wrong'
return
#找后一个"的位置,不能直接赋值给end,然后end一个一个自加,因为都是引用,start也会跟着end变化
j = 1
while line[start+j] != '"':
j = j + 1
name = line[start+1:start+j]
return name
def getTabName(line):
#首先找到第一个',',然后回找第一个'/',中间的内容就是B.img,然后取B
end = line.find(',')
if end == -1:
print 'sorry,your file maybe wrong'
return
j = 1
while line[end - j] != '/':
#重新给end赋值,即使A.B.C,最后得到的将是A
if(line[end - j] == '.'):
new_end = end - j
j = j + 1
name = line[end-j+1:new_end]
return name
def compare(names):
for i in range(1,len(names)):
if names[i] != names[0]:
return False
return True
#打印列表
def prin(names):
for name in names:
print name
def do_with_line(config_file):
flag = 0
#名字用列表来存储,第一个是name,后面的是tag一次排序的
names = []
for line in fileinput.input(config_file):
#disk 结束
if line.find(']') == 0:
flag = 0
continue
#处理disk下一行
if flag == 1:
names.append(getTabName(line))
continue
#去掉前后的空格
line = line.rstrip()
#如果是#或者'''开头,直接忽略,因为是注释符号
if line[0] == '#':
continue
#查找name,这个必须在首位,不然认为不是name,name只有一个
if line.find('name') == 0:
name = getName(line)
names.insert(0,name)
#找到disk标志
if line.find('disk') == 0:
flag = 1
continue
return names
if __name__ == '__main__':
config_file = 'xen1.cfg'
names = do_with_line(config_file)
prin(names)
if compare(names) == False:
print 'nonono'
else:
print 'yesyesyes'
以上的格式自己调试一下啦。
python 配置文件解析_python 解析配置文件相关推荐
- python配置文件解析_Python中配置文件解析模块-ConfigParser
Python中有ConfigParser类,可以很方便的从配置文件中读取数据(如DB的配置,路径的配置). 配置文件的格式是: []包含的叫section, section 下有option=valu ...
- python写配置文件方法_Python读写配置文件的方法
本文实例讲述了Python读写配置文件的方法.分享给大家供大家参考.具体分析如下: python 读写配置文件ConfigParser模块是python自带的读取配置文件的模块.通过他可以方便的读取配 ...
- python命令解析_python解析命令行
可以解析这样的命令 ./cron_ctrl jobname1 --stop ;./cron_ctrl jobname1 --start;./cron_ctrl jobname1 --list #!/u ...
- python xml字符串_python -解析字符串,并返回xml格式字符串 急该如何解决
python --解析字符串,并返回xml格式字符串 急急急. str = """Registrations: ============================= ...
- python pyquery库_python解析HTML之:PyQuery库的介绍与使用
前言 Python关于爬虫的库挺多的,也各有所长.了解前端的也都知道, jQuery 能够通过选择器精确定位 DOM 树中的目标并进行操作,所以我想如果能用 jQuery 去爬网页那就 cool 了. ...
- python xml实例_python解析xml文档实例
博客已迁移 新地址 打开 ======================= 今天恰好用到,记录一下 使用python 用到的包:xml.dom.minidom 需求: 有一个表,里面数据量比较大,每天 ...
- python 报文解析_python解析DNS数据包实例代码
例子,python解析DNS数据包. 代码示例: ###file QueryDNS.py## -*- coding: utf-8 -*- #Get DNS answer #详情见RFC 1035 im ...
- python 邮件解析_Python解析邮件
邮件的解析是个大课题,远超一般人的预期.它远比发送邮件和接收邮件要复杂的多的多. 这就是为什么网上中文外文搜邮件的问题,绝大多数都是讲发送的而讲接收的很少. 发送邮件好说,接收和下载邮件也好说.关键是 ...
- python epub解析_python 解析电子书的信息
epub 书是可供人们下载的开放性资源格式的电子图书.epub 文件通常与类似亚马逊Kindle 这样的电子阅读器不兼容. 一个epub 文件包含两个文件:一个包含数据的压缩文件(.zip文件)以及一 ...
最新文章
- 42所双一流大学校长情况简介(2019年)
- 2000万日订单背后:美团外卖客户端高可用建设体系
- 深度学习中的batch理解(batch size 一次喂给神经网络的数据大小量)
- yii2 basic版 MVC 部分
- Mysql Incorrect DATETIME value: ‘01/01/2021 00:00:00‘
- DDL、DML、DQL、DCL 理解
- 微软云中国策略的下一步:驱动AI生态
- mysql同步三张表如何用事务_MySql-第三部分(外键, 多表连接, 事务,视图 )
- python读取hive方案分析
- 计算机控制技术第二版答案于微波,微波技术基础课后参考答案 (田加胜版)
- 哪里可以做TEM/HRTEM/EDS/线扫/Mapping测试、EBSD测试
- 甘肃省房屋过户费用计算机,2017二手房过户费计算器
- 老板拖欠工资怎么办?
- java 回调方法是什么意思_java什么是回调
- 讲讲如何将图片格式转化成base64格式的
- 换网站服务器需要备案吗,换服务器要重新备案吗?
- python程序设计与基础教程第六章上机实验_《Python程序设计与算法基础教程(第二版)》江红 余青松 课后代码题详解...
- python怎么设置窗口大小_python – 如何找出所需的窗口大小?
- C语言程序设计作业07:第十六周作业
- elementui table表格动态生成多级表头