Сравнение букв из текстового файла с переменной возвращает значение False

#python #compare #text-files

Вопрос:

Я пытаюсь сравнить список букв с буквами, которые находятся в текстовом файле, Все работает просто отлично, за исключением того факта, что даже если бы буква была равна букве текстового файла; это приведет к ложному

Вот пример того, что происходит:

 with open("Comparing_file") as f:
    for line in f:
        line = line.strip("") # removing the spaces(if there was any)
    
    letter = "A"    
    print("This is the line:", line)
    print("This is the letter:", letter)

    if letter.strip("") == line:  # removing the spaces(if there was any)
        print("equal")
    else:
        print("not equal")
 

Вот результаты:

 This is the line: A  

This is the letter: A

not equal
 

Ответ №1:

Вы злоупотребляете стриптизом.

S. strip([символы]) -> str Возвращает копию строки S с удаленными начальными и конечными пробелами. Если символы заданы, а не отсутствуют, вместо этого удалите символы в символах.

Это означает, что если вы предоставите аргумент для удаления, он удалит все, что содержится в этом аргументе. В вашем случае вы указали "" , что это пустая строка, то есть полоса в основном ничего не сделает.

Вместо этого вы можете попробовать:

 line.strip()
letter.strip()
# OR
line.strip(" ") # this for example will remove spaces.
line.strip("n") # this for example will remove "n".
 

Комментарии:

1. Спасибо letter.strip("n") , что работали на меня, надо было провести немного больше исследований