как протестировать определенную строку в текстовом файле с помощью python

#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)