【发布时间】:2021-05-22 22:53:43
【问题描述】:
我正在尝试将字符串与文本文件中的文本进行比较。但由于某种原因,即使我已经将文本文件中的文本复制并粘贴到我的字符串中,它的返回结果还是不一样。我还检查了how to compare a string with a text file 以确保我做对了,所以我对为什么这不起作用感到非常困惑。
string = "This is working"
x = open('work.txt').read()
print(string)
print(x)
print(x is string)
文本文件的内容是This is working,当我运行代码时,我得到下面的输出
This is working
This is working
False
编辑: 我也试过了:
if string == open('work.txt').read():
print("Working")
else:
print("Not working")
这也给出了Not working
【问题讨论】:
-
请注意
is和==不是一回事。您可以阅读有关文档中差异的更多信息 -
@SuperStew 我都试过了,但对他们来说都是假的。
-
请提供预期的minimal, reproducible example (MRE)。我们应该能够复制和粘贴您的代码的连续块,执行该文件,并重现您的问题以及跟踪问题点的输出。这让我们可以根据您的测试数据和所需的输出来测试我们的建议。您发布的代码无法运行,因为您没有包含输入数据。
-
我们希望您执行基本诊断以包含在您的帖子中。至少,在错误点打印可疑值并将其追溯到其来源。在许多情况下,做这个基本诊断会告诉你问题出在哪里,你根本不需要 Stack Overflow。由于您未能打印和检查相关数据值的类型,我们真的无法处理您声称
==也失败的说法。您是否在read中添加了换行符? -
替换 == 也适用于我,很确定这是唯一的问题