dzz: Dizzy の冬 (Dizzy-Programming)
2012-08-24 05:14 pm
Entry tags:

2+3

До чего ж большое спасибо хочется сказать Гвидо нашему ван Россуму за отдельные нововведения в 3 питоне.

Имеем байтовый буфер вида x=b'12345678'

Привычное по второй версии struct.unpack('B',x[5]) вываливается со словами TypeError: 'str' does not support the buffer interface

А struct.unpack('B',x[5:6]) - работает.

Всё потому, что type(x[5]) - class 'int'. А type(x[5:6]) - class 'bytes'.

Поубывыв бы ;)

З.Ы. В общем, перепёр в первом приближении pyExcelerator на третий диалект. Докую - выложу на sourceforge в проект py3xcel.
dzz: Dizzy の冬 (Default)
2007-07-16 05:00 pm
Entry tags:

(no subject)

Разрабатывая загрузчик тарифов для Oracle CBRM, вынужден был разобраться в представлении даты-времени в Ёкселе. Обнаружил ошибку в виде сдвига нумерации на 1 день. Порадовался. Посмотрел в интернете. Выяснил, что это не баг, а фича. Well known issue.

В общем, excel считает 1900-й год високосным. Как утверждается, изначально - для совместимости с Lotus 1-2-3. А потом - для совместимости с тучей табличек, нарисованных благодарным человечеством уже в excel-е :)
dzz: Dizzy の冬 (Default)
2007-06-25 04:49 pm
Entry tags:

Гвидо Ван Россум радует :)

Выдержки из питоновского глоссария:

Python3000
    A mythical python release, not required to be backward compatible, 
    with telepathic interface.

Zen of Python
    Listing of Python design principles and philosophies that are 
    helpful in understanding and using the language. The listing 
    can be found by typing ``import this'' at the interactive prompt.
dzz: Dizzy の冬 (Default)
2007-06-21 11:42 am
Entry tags:

Давненько не брал я в руки шашек!

Лёгким движением руки ускорил чужой код на питоне примерно в 60 раз ;)))

Было:

rows = [] cols = [] for key in values.keys(): row, col = key if not col in cols: cols.append(col) if not row in rows: rows.append(row) n_rows = max(rows) n_cols = max(cols)
Стало:
n_rows = 0 n_cols = 0 for key in values.keys(): row, col = key if row > n_rows: n_rows = row if col > n_cols: n_cols = col


В общем, типическое "Кто так пишет..." :)))