如何将提取的数据保存到文本文件

时间:2019-07-19 16:13:35

标签: python python-3.6 extract

我有一个包含以下内容的文本文件

this is the first line
this is the second line
this is the third line
this is the fourth line and contains the word fox.

目标是编写一个读取文件的代码,并用 其中的单词fox并将该行保存到新的文本文件中。这是我到目前为止的代码

import os
import re

my_absolute_path = os.path.abspath(os.path.dirname(__file__))

with open('textfile', 'r') as helloFile:

    for line in helloFile:

        if re.findall("fox",line):

            print(line.strip())

此代码显示了解析后的文本的结果,但这并不是我真正想要的。相反,我希望代码使用该行创建一个新的文本文件。有没有办法在python中完成此操作?

1 个答案:

答案 0 :(得分:2)

您可以这样做:

with open('textfile', 'r') as in_file, open('outfile', 'a') as out_file:
    for line in in_file:
        if 'fox' in line:
            out_file.write(line)

在这里,我已经以追加(outfile)模式打开a,以适应多次写入。并且还使用了instr.__contains__)检查子串是否存在(这里的Regex绝对过分杀伤了)。