将字符串与 python 中的文本文件进行比较

Comparing string with text file in python

我正在尝试将字符串与文本文件中的文本进行比较。但出于某种原因,即使我已经将文本从文本文件中复制并粘贴到我的字符串中,它仍然不一样。我还检查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

试试这个

print(x == string)

两个问题,如前所述,您应该使用 == 而不是 is 来检查相等性。另外,请注意第二个打印语句输出和结果输​​出之间的额外行。那是因为你从文件中读取的字符串中有一个换行符,所以它们不是同一个字符串。

如果你去掉换行符,他们应该比较:

string = "This is working"
x = open('work.txt').read().strip()
print(string)
print(x)
print(x == string)