Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 2, 2012 17:49:55

de_joker
Зарегистрирован: 2012-09-02
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

[РЕШЕНО] Чтение неизвестного диапазона строк или символов из файла

Всем здравствуйте!
В Python я новичок, поэтому прошу небольшой помощи.
Необходимо найти нужный год в файле и вывести всё, что ниже под ним написано, до следующего года.

Вот код программы:

#-*- coding: utf-8 -*-   
god = str(raw_input ("Введите год. ")) # Вводим год
f = open('./Years/years.txt') # Открываем файл
if 'y'+ god in f.read(): # Если дата найдена, то надо как-то вывести
	print ("Найден")		# строки от найденной даты, до следующей
	f.close()
else:
	print ("Не найден")
	f.close()

Вот содержимое файла:
y2012
y2011
y1994
y1993
y1992
бла бла бла бла бла бла бла
бла бла бла бла бла бла бла бла
бла бла бла бла бла бла бла бла
y1991
y1990

Отредактировано de_joker (Сен. 2, 2012 20:39:33)

Офлайн

#2 Сен. 2, 2012 18:50:18

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

[РЕШЕНО] Чтение неизвестного диапазона строк или символов из файла

#-*- coding: utf-8 -*-   
god = "y" + str(raw_input ("Введите год. ")) # Вводим год
f = file('./Years/years.txt'): # Открываем файл
for line in f:
    if line == god:
        print ("Найден")
        break
for line in f:
    if line.sstartswith('y'): break
    print line
Как-то так.

Офлайн

#3 Сен. 2, 2012 19:29:34

de_joker
Зарегистрирован: 2012-09-02
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

[РЕШЕНО] Чтение неизвестного диапазона строк или символов из файла

Нет. Не выходит. Я думаю, что не так нужно делать.

А можно сделать так, например, выводить строки до тех пор пока не встретится ‘y1991’?

Есть что ни-будь в Python наподобии:

Do
line = str.ReadLine()
Loop Until str.ReadLine()=str(y)
print line

Отредактировано de_joker (Сен. 2, 2012 19:55:08)

Офлайн

#4 Сен. 2, 2012 20:21:32

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

[РЕШЕНО] Чтение неизвестного диапазона строк или символов из файла

#!/usr/bin/env python
#-*- coding: utf8 -*-

year = raw_input("Введите год: ")

with open('./years.txt') as fd:
for ln in fd:
ln = ln.strip()
if ln.startswith('y'):
if ln.endswith(year):
do_print = True
continue
do_print = False
if do_print:
print ln

Офлайн

#5 Сен. 2, 2012 20:32:58

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

[РЕШЕНО] Чтение неизвестного диапазона строк или символов из файла

Почему у вас синтаксис не посдвечивается?

Офлайн

#6 Сен. 2, 2012 20:34:34

de_joker
Зарегистрирован: 2012-09-02
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

[РЕШЕНО] Чтение неизвестного диапазона строк или символов из файла

Во! Спасибо! Заработало))

Офлайн

#7 Сен. 2, 2012 20:38:24

de_joker
Зарегистрирован: 2012-09-02
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

[РЕШЕНО] Чтение неизвестного диапазона строк или символов из файла

odnochlen

Обычный тег значит.
[code - без подсветки.
[code python - с подсветкой.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version