读书人

python的正则有关问题

发布时间: 2013-03-17 13:48:31 作者: rapoo

python的正则问题
有一个文档叫f.txt, 其中的内容是:

dfgdfgdfgsdgsdgsd
gsdgsdgsdgsdgasdg
sgsdgsggggggggggggggggggggggggggg
2.0.8
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
jkkkkkjjj
现在要得到2.0.8以后的数据并重定向到新的文件中,该如何实现。
本人是python新手,想到一个很笨的方法,就是写两个函数,一个函数实现skip的功能, 等文件读到 2.0.8的时候就调用另一个函数实现重定向的功能, 但是感觉这样不是很好, 请高手知道更符合python的用法。

python 正则
[解决办法]


f = open('old.log', 'r')
a = f.readlines()
if '2.0.8\n' in a:
f_new = open('new.log', 'a+')
index = a.index('2.0.8\n')
for info in a[index:]:
f_new.write(info)
f_new.close()
f.close()

[解决办法]
根据标题,给个用正则的实现


import re

f = open('f.txt')
s = f.read()
rs = re.findall(r'(?<=2.0.8\n).*', s, re.S)
if rs:
fnew = open('fn.txt', 'w')
fnew.write(rs[0])
fnew.close()

读书人网 >perl python

热点推荐