2+3

Aug. 24th, 2012 05:14 pm
dzz: Dizzy の冬 (Dizzy-Programming)
До чего ж большое спасибо хочется сказать Гвидо нашему ван Россуму за отдельные нововведения в 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)
Разрабатывая загрузчик тарифов для Oracle CBRM, вынужден был разобраться в представлении даты-времени в Ёкселе. Обнаружил ошибку в виде сдвига нумерации на 1 день. Порадовался. Посмотрел в интернете. Выяснил, что это не баг, а фича. Well known issue.

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

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)
Лёгким движением руки ускорил чужой код на питоне примерно в 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


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

Profile

dzz: Dizzy の冬 (Default)
dzz

August 2018

S M T W T F S
   1234
567891011
1213 1415161718
1920 2122232425
262728293031 

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 18th, 2025 04:24 am
Powered by Dreamwidth Studios