运行脚本和按sh得到不同的结果

2024-10-03 15:21:25 发布

您现在位置:Python中文网/ 问答频道 /正文

当我运行一个脚本来判断两个文本文件是否相同时,我遇到了一个问题:

a="MyOut1.txt"
b="out1.txt"
f1=open(a,'r')
f2=open(b,'r')
l1=f1.readlines()
l2=f2.readlines()
f1.close()
f2.close()
print(l2==l1)

当我通过终端运行代码时,我得到一个错误的结果(即使我希望文件是相同的),当我通过python shell运行它时,它给出的结果是真的,如您所见:

enter image description here


Tags: 代码txt脚本终端l1closeopenf2
2条回答

首先

你百分之百确定这两个文件是相同的吗。另外,你确定你写的脚本与图片中显示的线条完全相同吗。最后两次仔细检查python是否看到了与Simon建议的相同的文件,print(l1)和{}。在

建议

从文件中读取并测试它们是否相同的一种更快的方法是。在

l1 = open("one.txt", "r").read() l2 = open("two.txt", "r").read() print(l2 == l2)

我找到了文本不完全相同的原因,但我仍然需要一个答案: 当我打印两个文本的内容时,它是相同的,但是当我将其作为列表打印时,似乎其中一个文本包含\r在每个文本之前

>>> 
>>> l1[10]
'\n'
>>> l2[10]
'\r'
>>> l2[11]
'\n'

每次我收到文本时都会发生这种情况。 我的以下问题是: a) 为什么会这样? b) 我只需要一个选项来比较文本的内容。有没有办法做得更好?在

相关问题 更多 >