Найти - Пользователи
Полная версия: Счет строк из файла
Начало » Python для новичков » Счет строк из файла
1 2 3 4 5 6
paraffine9208
Файл состоит из отсчетов(чисел), надо сложить эти числа.
odnochlen
sum_ = 0
for line in open(r'd:\Python\file.txt', 'r'):
    sum_ += int(line.strip())
print sum_
s0rg
odnochlen
sum_ = 0
умничка
odnochlen
for line in open(r'd:\Python\file.txt', ‘r’):
лучше использовать with open(…) - оно закроет хендл файла по выходу
dimy44
или так
sum_ = reduce(lambda x, y: int(x) + int(y), open(path_to_file))
s0rg
dimy44
open(path_to_file)
файлы все-таки лучше закрывать )
dimy44
В этом случае что закрывать? Ссылки на файловый объект нет.
s0rg
эмм а что open() возвращает?
reclosedev
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 могут возникнуть.
s0rg
reclosedev
На CPython проблем не будет
Конечно не будет - но это правило хорошего тона, открыл - закрой.
dimy44
reclosedev
зачем
усложнять?
В моем распоряжении сейчас только Python 2.2.2, там еще нет sum, пришлось так).
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB