Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 11, 2014 19:15:56

PanovSergey
От: Екатеринбург
Зарегистрирован: 2013-12-29
Сообщения: 269
Репутация: +  19  -
Профиль   Адрес электронной почты  

Генератор паролей по условию.

o7412369815963
# 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'))
По мне так не очень хорошая мысль писать блоками. С моей точки зрения правильно обрабатывать каждый элемент. НЕ факт что на i%1000000 должно хватать памяти. Не знаю решения, но однозначно здесь есть еще над чем подумать.

Офлайн

#2 Фев. 12, 2014 17:03:54

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Генератор паролей по условию.

PanovSergey
По мне так не очень хорошая мысль писать блоками. С моей точки зрения правильно обрабатывать каждый элемент.
Просто блоками - быстрее. Если нужно писать каждый элемент, то можно .flush() перебросить за write, это всяко лучше чем открывать файл каждый раз.

PanovSergey
НЕ факт что на i%1000000 должно хватать памяти.
Это же всего 11Мб, не так уж и много, хотя там на меньшем размере скорее всего авто-флуш срабатывает.

PanovSergey
Не знаю решения, но однозначно здесь есть еще над чем подумать.
Не думаю что тут нужно тратить время на раздумье, т.к. задача не такая уж и полезная.

Офлайн

#3 Фев. 12, 2014 18:49:35

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Генератор паролей по условию.

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)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version