Сравнение 2 переменных, когда одна из них извлекается из текстового файла

Я пытаюсь написать код, который сравнивает переменную b со значением, полученным из текстового файла с помощью linecache.getline

Проблема в том, что он никогда не напечатает наше «ЕГО РАБОТАЕТ», потому что значения никогда не совпадают, даже если они совпадают :-(

ТЕКСТОВЫЙ ФАЙЛ: В текстовом файле есть только один символ и его "a".

Вот код:

import linecache

b="a" 

a=linecache.getline("TextFile.txt",1)


if a==b:
    print("ITS WORKING")

person Jack    schedule 20.03.2017    source источник
comment
ты собирался распечатать?   -  person timgeb    schedule 20.03.2017
comment
каково содержание TextFile.txt   -  person Keerthana Prabhakaran    schedule 20.03.2017
comment
В первой строке есть   -  person Jack    schedule 20.03.2017
comment
Я напечатал переменную a, и она напечатала a, поэтому я не думаю, что проблема в этом, но я действительно не знаю :-(   -  person Jack    schedule 20.03.2017
comment
Это файл, содержащий только a или много символов вместе с a?   -  person Keerthana Prabhakaran    schedule 20.03.2017
comment
Это всего лишь один символ a :-)   -  person Jack    schedule 20.03.2017
comment
Вы пытались напечатать длину a?   -  person Keerthana Prabhakaran    schedule 20.03.2017
comment
Я не знал, как это сделать, спасибо за совет, я думаю, это мне очень поможет в будущем :-)   -  person Jack    schedule 20.03.2017


Ответы (2)


Вероятно, вам нужно убрать лишние пробелы в конце прочитанной строки.

a=linecache.getline("TextFile.txt",1).strip()


Keerthana:~ kiran$ cat TextFile.txt
a
Keerthana:~ kiran$ py Desktop/test.py
a
ITS WORKING
Keerthana:~ kiran$ 

Надеюсь, поможет!

person Keerthana Prabhakaran    schedule 20.03.2017
comment
было бы полезно, если бы вы могли добавить содержимое рассматриваемого входного файла! - person Keerthana Prabhakaran; 20.03.2017
comment
Если это так, то работает отлично. Пожалуйста, перепроверьте! - person Keerthana Prabhakaran; 20.03.2017
comment
ЛЮБЛЮ ТЕБЯ хД. Это работает как шарм, я был глуп, я пытался получить значение из txt файла с другим именем, теперь с .strip() он отлично работает! Спасибо! - person Jack; 20.03.2017
comment
Ну, у меня недостаточно репутации, чтобы голосовать, но я приму это как можно скорее, но есть ограничение в 1 минуту ... Принято сейчас :-) - person Jack; 20.03.2017

Согласно документации, linecache.getline будет включать завершающий символ новой строки, поэтому ваш матч не работает.

person timgeb    schedule 20.03.2017