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

Python if语句无法正确识别从文本文件读取的变量问题

问题原因

你调用file.read()读取文件内容时,会完整读取文件内的所有字符,包括文本末尾隐含的换行符、空格、制表符等不可见空白字符。执行print(Subject)时,换行符仅会表现为输出后换行,不会直观显示,因此你会误认为读取到的内容就是纯Fiction,实际变量存储的内容大概率是Fiction\n(或Windows系统下的Fiction\r\n),和硬编码的字符串"Fiction"自然无法匹配。

验证方法

你可以执行以下代码查看变量的原始内容,不可见字符会被转义显示:

print(repr(Subject))

如果输出结果带\n、\r这类后缀,就说明确实是空白字符导致的匹配失败。

修复方案

读取内容后调用strip()方法,即可删除字符串首尾的所有空白字符(含换行、空格、制表符),推荐搭配with上下文管理器读取文件,无需手动关闭文件,逻辑更安全,修改后的代码如下:

with open("Subject.txt", "r", encoding="utf-8") as file:
    Subject = file.read().strip()

修改后再执行相等判断,就能得到预期的Yes输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 20:48:02