我想使用 python 删除 3.000 个文件的全部内容并只保留一些特定行。
文件.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 个文件
最佳答案
您可以尝试使用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()
希望对你有帮助
关于Python:遍历目录和子目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54544195/