Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 6, 2016 21:02:43

Siarhei
Зарегистрирован: 2016-09-06
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Последовательный перебор строк файла

Здравствуйте. Первый день пробую что-то сделать на Питоне.
Имеется такая забавная проблема: нужно пройтись по всем строкам файла и, если содержимое строки равно X, выполнить некое действие. Тестовый код:

Содержимое файла:
One
Two
Three

with open('test.txt', ‘r’) as all:
for line in all:
if line == ‘Two’:
print(line)

Результат: ничего не выводит. Как вы считаете, в чем может быть проблема?

Офлайн

#2 Сен. 6, 2016 21:09:35

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Последовательный перебор строк файла

В символах завершения строки.

Офлайн

#3 Сен. 6, 2016 21:22:28

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

Последовательный перебор строк файла

первая проблема в том что вы не считали строки из файла в переменную. вторая может быть если не правильно считать то есть с символом конца строки тогда условие тоже не выполниться.

 with open('test.txt', 'r') as all:
   list_line = all.read().splitlines()
for line in list_line:
    if line == 'Two':
        print(line)

Отредактировано marvellik (Сен. 6, 2016 21:48:44)

Офлайн

#4 Сен. 6, 2016 21:41:20

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Последовательный перебор строк файла

marvellik
первая проблема в том что вы не считали строки из файла в переменную.
В этом нет необходимости.
readlines(hint=-1) 
Read and return a list of lines from the stream. hint can be specified to control the number of lines read: no more lines will be read if the total size (in bytes/characters) of all lines so far exceeds hint.

Note that it’s already possible to iterate on file objects using for line in file: ... without calling file.readlines().

Офлайн

#5 Сен. 6, 2016 21:46:57

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

Последовательный перебор строк файла

Shaman
В этом нет необходимости.
спасибо. не знал. буду осваивать и использовать в дальнейшем.но как это будет работать в данном случае? верней как должно быть, как убрать символ конца строки?
 with open('test.txt', 'r') as all:
    print(list(all))
['One\n', 'Two\n', 'Three\n']

Отредактировано marvellik (Сен. 6, 2016 21:53:47)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version