result = [int(i) for i in open('text.txt').read().split()]
result = [int(i) for i in open('text.txt').read().split()]
GDKopen открывает файл на запись. write пишет в буфер. Когда буфер заполняется, то он флешится на диск. Как-то так.
А как думаете f=open('text.txt','w') копирует файл в оперативку и потом f.close() сохраняет изменения?? или при каждом f.write(line + ‘\n’) происходит обращение к жёстк. диску?
FerromanЧитаем доки:
write пишет сразу в файл, на диск. close просто закрывает файл.
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)))