Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 9, 2012 17:48:37

paraffine9208
Зарегистрирован: 2012-08-19
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

Счет строк из файла

Файл состоит из отсчетов(чисел), надо сложить эти числа.

Офлайн

#2 Ноя. 9, 2012 18:04:52

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

Счет строк из файла

sum_ = 0
for line in open(r'd:\Python\file.txt', 'r'):
    sum_ += int(line.strip())
print sum_

Офлайн

#3 Ноя. 9, 2012 18:44:05

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

Счет строк из файла

odnochlen
sum_ = 0
умничка
odnochlen
for line in open(r'd:\Python\file.txt', ‘r’):
лучше использовать with open(…) - оно закроет хендл файла по выходу

Офлайн

#4 Ноя. 9, 2012 18:44:18

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

Счет строк из файла

или так

sum_ = reduce(lambda x, y: int(x) + int(y), open(path_to_file))

Офлайн

#5 Ноя. 9, 2012 19:08:08

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

Счет строк из файла

dimy44
open(path_to_file)
файлы все-таки лучше закрывать )

Офлайн

#6 Ноя. 9, 2012 19:18:33

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

Счет строк из файла

В этом случае что закрывать? Ссылки на файловый объект нет.

Офлайн

#7 Ноя. 9, 2012 19:21:35

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

Счет строк из файла

эмм а что open() возвращает?

Офлайн

#8 Ноя. 9, 2012 19:25:09

reclosedev
От: Н.Новгород
Зарегистрирован: 2012-03-29
Сообщения: 870
Репутация: +  173  -
Профиль   Отправить e-mail  

Счет строк из файла

dimy44
sum_ = reduce(lambda x, y: int(x) + int(y), open(path_to_file))
Не зря Guido подальше reduce запрятал, если уж нравится функциональный стиль, зачем усложнять?
with open("file.txt") as f:
    total = sum(map(int, f))
dimy44
В этом случае что закрывать? Ссылки на файловый объект нет.
На CPython проблем не будет, а вот на PyPy могут возникнуть.

Отредактировано reclosedev (Ноя. 9, 2012 19:27:09)

Офлайн

#9 Ноя. 9, 2012 19:34:12

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

Счет строк из файла

reclosedev
На CPython проблем не будет
Конечно не будет - но это правило хорошего тона, открыл - закрой.

Офлайн

#10 Ноя. 9, 2012 19:38:34

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

Счет строк из файла

reclosedev
зачем
усложнять?
В моем распоряжении сейчас только Python 2.2.2, там еще нет sum, пришлось так).

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version