Форум сайта python.su
19
o7412369815963По мне так не очень хорошая мысль писать блоками. С моей точки зрения правильно обрабатывать каждый элемент. НЕ факт что на i%1000000 должно хватать памяти. Не знаю решения, но однозначно здесь есть еще над чем подумать.# coding: utf8
from itertools import product
stFile = open('1.txt', 'a+')
for i, item in enumerate(product('abcdefghijklmnopqrstuvwxyz0123456789',repeat=10)):
if not i%1000000:
print i
stFile.flush()
stFile.write(str(''.join(item)+'\n'))
Офлайн
32
PanovSergeyПросто блоками - быстрее. Если нужно писать каждый элемент, то можно .flush() перебросить за write, это всяко лучше чем открывать файл каждый раз.
По мне так не очень хорошая мысль писать блоками. С моей точки зрения правильно обрабатывать каждый элемент.
PanovSergeyЭто же всего 11Мб, не так уж и много, хотя там на меньшем размере скорее всего авто-флуш срабатывает.
НЕ факт что на i%1000000 должно хватать памяти.
PanovSergeyНе думаю что тут нужно тратить время на раздумье, т.к. задача не такая уж и полезная.
Не знаю решения, но однозначно здесь есть еще над чем подумать.
Офлайн
857
o7412369815963посмешил :)
авто-флуш
<--- Mueller7GPL --->
flush
[flʌʃ]
1. _n. 1> внезапный прилив, поток (воды)
2> смывание, промывание сильной струёй воды (в унитазе и т.п.)
3> прилив крови; краска (на лице), румянец
4> приступ (лихорадки)
5> прилив (чувства); упоение (успехом и т.п.); flush of hope вспышка надежды
6> буйный рост (зелени и т.п.)
7> расцвет (молодости, сил и т.п.)
8> быстрый приток, внезапное изобилие (чего-л.) 2. _a. 1> полный (до краёв - о реке) 2> _predic. изобилующий; щедрый, расточительный (with); to be flush with money а> быть обеспеченным, быть с (большим) достатком; б> не считать деньги, сорить деньгами 3> _тех. находящийся на одном уровне, заподлицо (с чем-л.) 3. _v. 1> бить струёй; обильно течь, хлынуть 2> приливать к лицу (о крови); вызывать краску на лице 3> вспыхнуть, покраснеть (часто flush up); she flushed (up) when I spoke to her лицо её залилось краской, когда я заговорил с ней 4> затоплять 5> промывать сильным напором струи; to flush the toilet спустить воду в уборной 6> наполнять, переполнять (чувством); to be flushed with joy (pride, etc.) быть охваченным радостью (гордостью и т.п.); flushed with victory упоённый победой 7> _редк. давать новые побеги (о растениях) _II [flцS] 1. _n. вспугнутая стая птиц 2. _v. 1> спугивать (дичь) 2> взлетать, вспархивать _III [flцS] _n. карты одной масти
Отредактировано py.user.next (Фев. 12, 2014 18:50:01)
Офлайн