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

使用Python 3.x读取文件无法跳过空行?求错误排查方案

问题分析与解决

嘿,我来帮你看看问题出在哪~

你的核心问题是判断空行的逻辑错了。咱们一步步理清楚:

你用了tmpLine.strip()这个方法,它会把字符串两端所有的空白字符(包括换行符\n、回车符\r、空格、制表符这些)全部去掉。那如果原行是一个空行(只有换行/回车,或者全是空格),strip()之后得到的就是空字符串'',而不是你代码里判断的'\n'或者'\r'——这就导致你的条件根本匹配不到这些空行,自然没法跳过它们。

修正后的代码

其实判断逻辑可以简化很多,直接检查处理后的行是否非空就行:

ourFile = 'File.txt'
with open(ourFile) as fp:
    for tmpLine in fp:
        currentLine = tmpLine.strip()
        if currentLine:  # 空字符串在布尔判断里会被视为False,非空则为True
            print(currentLine)

额外说明

  • 如果你的需求是跳过完全空白的行(包括只有空格/制表符的行),那上面的写法完全没问题,strip()会把这类行也转成空字符串。
  • 如果你只是想跳过纯换行的行,不想去掉行内的空格,可以改成tmpLine.rstrip('\n\r'),再判断是否为空,但一般来说第一种场景更常用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:00:02