python修改dat文件内的内容

比如dat文件里有一行为area=200,mach=0.8length=10,width=20修改area使其=100,width=10

要是我改的话,一般是读整个文件到lines,然后一行一行匹配,匹配到之后,
把这行修改成需要的,然后把整个lines再写到文件中。追问

怎么匹配?能举个例子吗?

追答

import os,sys
import re
import string

s="""
area=300,mach=0.8,length=10,width=80

area=150,mach=0.4,length=10,width=15
area=200,mach=0.8,length=10,width=20
"""

pat=re.compile(r'^\s*area=(?P\d+),mach=(?P[\d.]+),length=(?P\d+),width=(?P\d+)\s*$')

outlines=[]

lines=s.splitlines() #open(inname,"r").readlines()
for line in lines:
m=pat.match(line)
if m:
area=int(m.group('area'))
width=int(m.group('width'))
if area==200 and width==20:
#replace
outlines.append("area=%s,mach=%s,length=%s,width=%s"%(100,m.group('mach'),m.group('length'),10))
else:
outlines.append(line)
else:
outlines.append(line)
sout=string.join(outlines,"\n")
print sout

追问

我去,用的正则啊!!表示正则一直看不懂。。

追答

处理文本的时候不用正则的程序员不是好厨子。没有正则,你多一个空格少一个空格处理起来都很费事的。再说了,正则不是很简单吗?又没让你去搞pyparsing啥的。

追问

好的,那我好好看看正则这块。现在初步是在python中改,后边要在界面内修改,还比较烦。谢谢啊

温馨提示:答案为网友推荐,仅供参考
相似回答