2013-04-04 4 views
0

Когда я пытаюсь получить строку с использованием linecache в python.Linecache добавляет дополнительную строку к строке, которую я получаю

loginpass = raw_input("> ") 
if loginpass == linecache.getline('Password.txt', 1): 

Линия, которую он получает, всегда возвращается с дополнительной линией. Так что, если линия одна

"Test" 

возвращает

"Test 
" 

Он работал раньше в коде, но ничего после того, что он добавляет эту строку после нее.

+0

Пожалуйста, не используйте 'linecache' для чтения файлов, как сказано в документации , это предназначено только для эффективного извлечения строк исходного кода Python для отображения в traceback. –

ответ

3

Это нормально; строки чтения из файла включают символ новой строки, заканчивающийся концом строки. Просто лишить его:

linecache.getline('Password.txt', 1).rstrip('\n') 

я больше обеспокоен тем, что вы храните пароль в виде простого текста, хотя ....

Смежные вопросы