python 删除匹配内容

来源:百度知道 编辑:UC知道 时间:2024/05/25 02:28:44
文件test.txt里面有一下URL:
http://www.baidu.com/index.htm
http://www.baidu.com/s?wd=aa
http://news.sina.com
http://mail.168.com
需要过滤掉含有“www.baidu.com”的URL,将其他URL写到a.txt(能保存到test.txt更好)

这完全可以不必使用python语言来作,一行脚本命令即可
cat ./test.txt | sed 's/.*www\.baidu\.com.*//' > ./a.txt

在python中的实现,借用楼上兄弟的程序一改:
#!/usr/bin/python
import re
f = open("./test.txt", "r")
i = f.read()
f.close()
i = re.sub(r'.*?www\.baidu\.com.*\n', '', i)
f = open("./a.txt", "w") #a.txt可以直接改为test.txt,以实现更好
f.write(i)
f.close()

f = open("d:\test.txt", "w")
urls = f.readlines()
for url in urls:
___if url.find("www.baidu.com")!=-1:
_______urls.remove(url)
f.writelines(urls)
f.close()
没测试,基本上就是这样子就可以实现了。