2016-10-18 4 views
3

Я хочу напечатать последний символ строки в чтении python из файла. Я звоню как str[-1] Но не работает.Возвращает последний символ строки в python

t.txt содержит

Do not laugh please!  9 

Are you kidding me?  4 

Мой код

with open('t.txt', 'r') as f: 
      for line in f: 
       print(line) 
       print(line[-1]) 
       #break 

Но он ничего не печатает.

+0

Вы хотите, чтобы последний символ всего файла или каждой строки? –

ответ

13

Последний символ каждой строки: символ новой строки. Вы можете strip его:

print(line.strip()[-1]) 
# or print(line.rstrip()[-1]) 
+0

Goshhhhh !!!! это работает. – Amar

+0

Я не знал, что [-1] трюк! Потрясающие! –

+1

@Amar: Чтобы сделать это как можно яснее, первая строка вашего файла - '' Не смейтесь, пожалуйста! 9 \ n "'. –

0

Простой принять строку и очистить это начальные и конечные пробелы. Затем верните последний символ в вашем случае. В противном случае просто верните последний символ.

line=line.strip() 
return line[-1] 
+3

Как это добавление к уже предоставленному ответу? – brianpck

+0

Я только что дал объяснение, а также, что важно, этот вопрос, я спрашиваю в первую очередь. – Sameer

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