的Python:遍历目录和子目录

问题描述 投票:1回答:1

我想删除的使用python 3.000文件的全部内容,只保留了一些具体的线路。

FILE.TXT

    Motion
    FileName "d:/monster"
    Dur 0.6321
    Acc 0.1121
    SOME LINE
    ASD
    SDAF
    DS
    V
    SADF
    SDV
    SDAFAV

此代码的工作完美的一个文件

with open(x, "r+") as f:
    new_f = f.readlines()
    f.seek(0)

    for line in new_f:
        if re.match(r"^(Dur|Acc)", line):
            f.write(line)

    f.truncate()

我试过这种方式,通过与扩展名的文件迭代.TXT

files = glob.glob('dirtest')
for x in files:

    with open(x, "r+") as f:
        new_f = f.readlines()
        f.seek(0)

        for line in new_f:
            if re.match(r"^(Dur|Acc)", line):
                f.write(line)

        f.truncate()

但没有任何反应。最终的脚本应该怎么看?要在所有的3.000文件迭代

python
1个回答
0
投票

你可以尝试使用listdir同时

import os
for file in os.listdir("filesPath"):
     if file.endswith(".txt"):
         with open(x, "r+") as f:
             new_f = f.readlines()
             f.seek(0)
             for line in new_f:
                 if re.match(r"^(Dur|Acc)", line):
                 f.write(line)

             f.truncate()

希望能帮助到你

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.