如何使用Python统计文件夹内TXT文件行数并删除超过300行的文件
Python统计txt文件行数并删除超300行文件实现方案
完整可运行代码如下:
import os path = "All_TSV_Files" files = [file for file in os.listdir(path) if file.endswith(".txt")] for file in files: file_path = os.path.join(path, file) with open(file_path, 'r', encoding='utf-8') as f: line_count = 0 for _ in f: line_count += 1 # 输出统计结果方便核对 print(f"文件名:{file},行数:{line_count}") if line_count > 300: os.remove(file_path) print(f"已删除:{file}")
注意:删除操作不可逆,运行前请先备份文件夹内的文件,或先注释os.remove(file_path)行,核对打印的统计结果符合预期后再开启删除逻辑
相关注意点:
- 若需要处理其他格式的文件,修改
endswith(".txt")内的后缀即可,比如处理tsv文件改为endswith(".tsv") - 逐行统计行数的写法对大文件更友好,不会一次性占用过多内存,喜欢简洁写法也可以将统计部分替换为
line_count = sum(1 for _ in f),效果完全一致 - 若文件编码不是utf-8,将
encoding='utf-8'修改为对应编码即可,比如Windows系统常见的gbk编码改为encoding='gbk'
内容的提问来源于stack exchange,提问作者Chang
相关产品推荐
相关产品推荐

