You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何判定仅含空行、空格、制表符的文件为空白文件

实现方案

核心逻辑

  • 优先判断文件大小是否为0,无需读取内容即可快速判定为空,性能开销极低
  • 若文件大小大于0,逐行读取内容,通过strip()方法移除每行首尾的所有空白字符(包含空格、制表符\t、换行符\n、回车符\r等)
  • 只要存在任意一行处理后不为空,即可判定文件存在有效记录;所有行处理后均为空则判定文件为空,完全覆盖你提到的三类场景

优化后代码

import os

def is_empty_file(fname, encoding='utf-8'):
    # 快速判断0字节空文件
    if os.path.getsize(fname) == 0:
        return True
    # 逐行校验是否存在有效内容
    with open(fname, 'r', encoding=encoding) as f:
        for line in f:
            if line.strip():
                return False
    return True

# 调用示例
if is_empty_file("your_file_path.txt"):
    print("File is Empty")

方案特点

  • 大文件适配:不需要全量加载文件内容,遇到第一条有效记录就终止读取,内存占用极低
  • 规则完全匹配:空行、全空格内容、全制表符内容都会被strip()处理为空字符串,全部命中时返回空判定
  • 兼容性优化:新增编码参数,避免不同操作系统默认编码差异导致的读取报错

内容的提问来源于stack exchange,提问作者codeholic24

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 10:45:03