Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 2, 2012 23:32:03

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

Чтение из файла N значений

Предположим есть такой текстовый файл вида:
1 2 0,1 3 0,2 4 0,15
2 4 0,24 5 0,3
3 4 0,16 6 0,03
4 5 0,48 6 0,5
5 7 0,84
6 7 0,62

Как осуществить чтение из файла построчно, причем я должен хранить первую цифру, и потом забирать из строки по 2 элемента (цифра+дробное число), причем число такой последовательности в файле может быть большое и состоять из N элементов?

Офлайн

#2 Окт. 2, 2012 23:47:04

Soteric
От:
Зарегистрирован: 2010-09-19
Сообщения: 352
Репутация: +  20  -
Профиль   Отправить e-mail  

Чтение из файла N значений

with open(filename) as f:
for line in iter(f):
values = line.split(" ")
id = values[0]
integer = values[1]
fractional = values[2]



Офлайн

#3 Окт. 3, 2012 00:33:52

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

Чтение из файла N значений

Soteric

with open(filename) as f:
    for line in f:
        values = line.split(" ")
        id, integer, fractional = values

Офлайн

#4 Окт. 3, 2012 01:49:28

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

Чтение из файла N значений

odnochlen
id, integer, fractional = values
перекрываешь id(), и будет ошибка распаковки
>>> a, b = 'a b c'.split()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: too many values to unpack (expected 2)
>>>

>>> 'a b c d'.split(None, 2)
['a', 'b', 'c d']
>>> a, b = 'a b c d'.split(None, 2)[:2]
>>> a, b
('a', 'b')
>>>



Отредактировано py.user.next (Окт. 3, 2012 01:53:50)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version