我想使用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个文件
答案 0 :(得分: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()
希望有帮助