Форум сайта python.su
Или даже так:
result = [int(i) for i in open('text.txt').read().split()]
Офлайн
В копилку.
Офлайн
GDKopen открывает файл на запись. write пишет в буфер. Когда буфер заполняется, то он флешится на диск. Как-то так.
А как думаете f=open('text.txt','w') копирует файл в оперативку и потом f.close() сохраняет изменения?? или при каждом f.write(line + ‘\n’) происходит обращение к жёстк. диску?
Отредактировано (Сен. 18, 2009 20:58:10)
Офлайн
write пишет сразу в файл, на диск. close просто закрывает файл.
Офлайн
Ну понятно спасибо. Просто хотелось понять как всё это работает и что используется.
Иногда содержимое файла предлагают писать в переменную. Если файл большой то это сильно отожрёт оперативку и получится неоправдано так делать.
Офлайн
FerromanЧитаем доки:
write пишет сразу в файл, на диск. close просто закрывает файл.
Офлайн
Да действительно, так и есть.
Офлайн
Вставлю свои 5 копеек :). Вы похоже совсем забыли что у range может быть 3 аргумента и имхо как раз в такой ситуации его удобно использовать вместо констукции if not i % 8 or i == 25.
Офлайн
ViperНет, не забыл. Покажите как это сделать, я не вижу.
Вставлю свои 5 копеек :). Вы похоже совсем забыли что у range может быть 3 аргумента и имхо как раз в такой ситуации его удобно использовать вместо констукции if not i % 8 or i == 25.
Офлайн
a = range(10)
f = open('result.txt', 'w')
beg = 0
for i in xrange(8, len(a) + 8, 8):
f.write(' '.join(map (str, a[beg:i])) + '\n')
beg = i
a = range(10)
open('result.txt', 'w').writelines((' '.join(map(str, line)) + '\n' for line in map(a.__getslice__, range(0, len(a), 8), range(8, len(a) + 8, 8)))
Отредактировано (Сен. 21, 2009 19:32:35)
Офлайн