#python #python-3.x #file #text
#python #python-3.x #файл #текст
Вопрос:
Я создаю текстовый файл, содержащий три строки
hi123
ok
good
и я хочу проверить, равен ли my var некоторой строке в текстовом файле
первая строка в моем текстовом файле равна моей переменной, когда я ее печатаю, но тест выдает мне False следующим образом
file = open("copy.txt", "r")
all_lines_variable = file.readlines()
var = 'hi123'
print(all_lines_variable[0], all_lines_variable[0] == var)
file.close()
и результат таков
hi123
False
Ответ №1:
Поскольку конкретной строки в вашем файле нет, 'hi123'
на самом деле, это 'hi123n'
. В конце есть новая строка. Таким образом, вы можете изменить свой var
на 'hi123n'
или попытаться удалить любой символ новой строки.
Ответ №2:
Потому что в конце строки есть разрыв строки. Вы можете убедиться в этом по тому факту, что print
записали содержимое var
в новой строке.
Если var
содержимое просто должно быть в этой строке, вы могли бы использовать print(all_lines_variable[0], var in all_lines_variable[0])
вместо этого.
В противном случае вы могли бы удалить последний символ строки (разрыв) и использовать его при сравнении следующим образом: print(all_lines_variable[0], all_lines_variable[0][:-1] == var)