Я пытаюсь получить разницу в двух файлах за строкой, а Python всегда возвращает false; даже когда я делаю разницу в тех же файлах, Python (почти) всегда возвращает false. Пример Goofy, но он реплицирует мою проблему на Python 3.4.3.Python '==' неверно возвращает false
file1.txt (example)
1
2
3
file1 = r"pathtofile\file1.txt"
file2 = r"pathtofile\file1.txt"
f1 = open(file1, "r")
f2 = open(file2, "r")
for line1 in f1:
found = False
for line2 in f2:
if repr(line1) == repr(line2):
found = True
print("true")
if found == False:
print("false")
Python правильно идентифицирует, что первая строка одна и та же, но все после этого ложно. Может ли кто-нибудь еще повторить это? Есть идеи?
Если вы не хотите 'if found == False:' всегда выполняться, yo u, вероятно, должен помещать 'found = True' в ваш код. – Kevin
Вы пытаетесь определить, совпадают ли два файла или есть ли одна строка? Потому что вы можете использовать синтаксис 'for else' для этого, не требуя переменной' found'. – SuperBiasedMan
Также Pythonic тестирует булевы с 'if bool' и' if not bool' – SuperBiasedMan