路傍のプログラマ

只のプログラマが綴る愚痴と備忘録

2to3.py

2010-01-28 18:38:47 | プログラミング
そろそろpy3k対応も考えないといけないようなので、2to3.pyを試しに使ってみました。

まだまだ手作業がいるなあ、と思ったところをメモ。

・「for i in map(...)」というのを、「for in list(map(...))」に直してくれるのですが、ちょっと安全側に倒しすぎでは?と感じます。

・py3kでは、__eq__は__eq__から自動的に作ってくれる(__eq__が定義してあれば「... != ...」のを「not( ... == ...)」と解釈してくれる)のですが、__ne__が定義されていても警告してくれません。

・「print x, y」を「print(x, y)」にしてくれるのですが、前者でスペースが入ることを期待していると、後者は出ないので注意。

・途中までpy3kに直したソースファイルにもう一度2to3.pyを実行すると、余分な処理を付け加えてくれる。「print(a)」を「print((a))」にしてくれたり。

・型を追いかけてくれないので、open(..., "rb")で読み込んだ内容にたいして正規表現のマッチングをしているところでエラーになる。
(python 2.Xでは、読み込んだ内容はstrになるので、reでマッチングできるが、3ではbytesになるのでエラー)

・上記も含めて、str/unicodeとbytes/strのまわりは自分でやらないといけません。「unicode("abc", "shift_jis")」は「str("abc", "shift_jis")」と直訳されてしまいますが、もちろんエラーになります。

ということで、2と3の違いを理解していないと使えないなー、という感じ。

まあここまで自動化してくれたのはうれしいですけれど。


BOF: 「HTML5への対応を進めている」

2010-01-28 12:54:35 | Birds-Of-Feather
記事「Chrome 4でGoogleが見せた"Web標準"へのこだわり - グーグル・及川氏」
http://journal.mycom.co.jp/articles/2010/01/28/chrome4/index.html
より。

あるベンダが引っ張っている規格を、そのベンダが「準拠する」というのも変な感じが。

動画のH.264はFirefoxが対応しないとか、
(記事「ネット参入に“料金所”は要らない、Mozilla」
http://www.atmarkit.co.jp/news/201001/25/video.html
参照)

今年に入っても仕様が分離したりくっついたりとか、
(記事「HTML5 仕様から Communications の章が分離、他。」
http://www.html5.jp/blog/2010/01/09/html5-specs-20100109/
参照)

開発者が幸せになれる標準なんだろうか?HTML5って。