根据匹配的单词查找值并存储它

时间:2016-08-08 21:43:26

标签: python-2.7

我是python的新手,我只想尝试一下语言

我有一个名为lion.txt的文件,其中包含以下文字:

狮子(Panthera leo)是Panthera属中的大型猫科动物之一,也是猫科(Felidae)的成员之一。常用的非洲狮一词统称非洲的几个亚种。有些雄性 超过 = 250 / 12 kg(550 lb)体重,[4]。

我希望我的程序要搜索关键字 超过 ,并将值 250 写入另一个名为searching.txt的文件中。最好是可以将它存储为变量,然后将其打印到另一个文本文件?

这就是我所拥有的:

import os
import re

os.chdir("C:\Python 2016 Training\lionfolder")
f = open("lion.txt", "r")
w = open("searched.txt", "w")

k = [] #Figured a dictionary would be the best way to deal with this?

for line in f:
    if re.match('(.*)exceeding(.*)',  line):
    w.write(k[1] = "line")

即使我想用Python做甚么可能吗?

提前谢谢

此致 凯文。

1 个答案:

答案 0 :(得分:0)

第一次尝试不错。你接近一个有效的解决方案,但缺少一些关键部分。试试这个:

import os
import re

f = open('lion.txt', 'r')
w = open('searched.txt', 'w')

for line in f:
    match = re.search('exceeding\=(\d+)', line)
    if match:
        w.write(match.group(1))

w.close()
f.close()

有更好的方法可以做到这一点,但我尽量保持尽可能接近原始代码,这样你就不会迷路。