使用python从文本文件删除行

时间:2019-02-05 00:09:04

标签: python python-2.7 file-io

假设我有一个充满随机行的文本文件。如何使用Python保留特定行并从此文件中删除其他行? 该脚本应从目录和子目录中搜索所有.txt文件。

1 个答案:

答案 0 :(得分:0)

首先,要搜索所有.txt文件,可以使用以下方法:

import glob, os
os.chdir("/mydir")
for filePath in glob.glob("*.txt"):
    ...

来自here

第二,要浏览文件并找到所需的行,请使用:

 myfile = open(filePath, "r")

然后查看文件中是否包含所需行。

if desiredLine in myfile:
    ...

然后,您可以关闭文件并以写入模式重新打开它。

myfile.close()
myfile = open(filePath, "w")

然后您要做的就是写您要保留的行。

myfile.write(desiredLine)

然后再次关闭文件

myfile.close()

来自here

最终脚本如下所示:

import glob, os
os.chdir("/mydir")
for filePath in glob.glob("*.txt"):
    myfile = open(filePath, "r")
    if desiredLine in myfile:
        myfile.close()
        myfile = open(filePath, "w")
        myfile.write(desiredLine)
    myfile.close()

注意,如果您要检查的文件中不存在您的行,则该行保持不变

希望这对您有帮助