2+3

Aug. 24th, 2012 05:14 pm
dzz: Dizzy の春 (Default)
[personal profile] dzz
До чего ж большое спасибо хочется сказать Гвидо нашему ван Россуму за отдельные нововведения в 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.

Date: 2012-08-24 01:19 pm (UTC)
From: [identity profile] avnik.livejournal.com
Перепер -- в смысле ветку сделал? Или поддержку 2.5-3.2, как у отдельных граждан?

Date: 2012-08-24 01:21 pm (UTC)
From: [identity profile] dzz.livejournal.com
Пока сделал форк. Файлы уже грузит-разбирает, остальное нужно тестить.

Как грамотнее поддержать 2+3 и стоит ли это делать вообще - думаю.
Мне он, собственно, нужен под 3.1+

Интересно, как отдельные граждане кошерно поддерживают сразу 2 и 3 диалекты?
Надо, что ли, в cx_Oracle посмотреть, там оба варианта заявлены.
Edited Date: 2012-08-24 01:55 pm (UTC)

Date: 2012-08-24 01:58 pm (UTC)
From: [identity profile] avnik.livejournal.com
chameleon, pyramid, самые базовые пакеты zope.* сейчас поддерживают обе ветки из коробки. Ну и используй пакет six -- там всякие условные определения -- компенсирующие разницу между 2 и 3.

Date: 2012-08-24 02:00 pm (UTC)
From: [identity profile] dzz.livejournal.com
Надо выяснить, знают ли авторы six про найденную мной сегодня забавность в struct.unpack() ;)
Edited Date: 2012-08-24 02:00 pm (UTC)

Date: 2012-08-24 02:09 pm (UTC)
From: [identity profile] avnik.livejournal.com
Когда я туда смотрел -- не знали. Но выбор между байтами/юникодом, местонахождение streingIO, СonfigParser и прочие странности нивелирует.

И как я понимкюа, глубинные проблемы начнутся когда буджут портировать хардкор от Zope2, там же ад с коровниками.

PS Но ты посмотри как в том же хамелеоне обходятся, там довольно глубоко лезут в потроха питона (аст и кодогенерация) и при этом поддерживают все основные ветки.

Date: 2012-08-24 03:09 pm (UTC)
From: [identity profile] avnik.livejournal.com
И кстати -- зачем на sourceforge? Есть же гитхаб

Date: 2012-08-25 03:04 pm (UTC)
From: [identity profile] dzz.livejournal.com
Привык я как-то к сорцфорджу ;)
Гитхаб сильно лучше?

Date: 2012-08-25 03:09 pm (UTC)
From: [identity profile] avnik.livejournal.com
Угу.
Это на моей памяти чуть ли не единственный случай, когда есть польза и от социальности и от вебдванольности.

К сабмиту патчей апстриму располагает больше. (fork+pull request требудт меньше усилий, чем пляска с патчами, рассылками и прочей дребеденью, особенно для тривиальных фиксов)

April 2026

S M T W T F S
   1 2 34
56 7 891011
1213141516 1718
19202122232425
2627282930  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 21st, 2026 07:48 am
Powered by Dreamwidth Studios