Python3 への移植の勧め [Python]
Python 3.3 から、 u"あいうえお" という文字列のリテラル記法が使えるようになる。
これは Python 3.3 では "あいうえお" と同じ意味なので、一見これが追加された意味がわからないけれど、Python2.7 とワンソースで動くようにするためには非常に便利な記法。
ちなみに、Python2.7 では b'あいうえお' と 'あいうえお' が同じ意味。
内部的には、ここユニコード文字列なんだよなー、というところには
とかいて、ここはバイナリ列(バイト列)なんだよなー、というところには
と書いておくと、 python2.7 と python3.3 の両方でうまい具合に動く。
文字列以外の部分は、努力と根性で書き直せばよさそう。
Python3 への porting Howto もいろいろあるんだけど、なかなか進捗しないなー
Porting Python 2 Code to Python 3
http://docs.python.org/py3k/howto/pyporting.html
Porting C Modules
http://docs.python.org/py3k/howto/cporting.html
Python/C API Reference Manual
http://docs.python.org/py3k/c-api/index.html
http://docs.python.org/c-api/index.html
ライブラリをPython3対応に書き換える(清水川Web)
http://www.freia.jp/taka/blog/768/index.html
BP Study #54 そろそろ Python3 (@aodag)
http://www.slideshare.net/aodag/bpstudy54-python3
中でも、@aodag さんの BP Study #54 の資料は非常に役に立つ。
ちなみに、 PyCon JP 2012 の3日目のスプリントで @aodag さんが Pyramid の Python3 へのポーティングをやるそうなので、興味ある人は参加してあげてちょ
https://github.com/Pylons/pyramid/wiki/Sprint-Ideas
これは Python 3.3 では "あいうえお" と同じ意味なので、一見これが追加された意味がわからないけれど、Python2.7 とワンソースで動くようにするためには非常に便利な記法。
ちなみに、Python2.7 では b'あいうえお' と 'あいうえお' が同じ意味。
内部的には、ここユニコード文字列なんだよなー、というところには
us = u"ここはユニコードの文字列"
とかいて、ここはバイナリ列(バイト列)なんだよなー、というところには
bs = b"ここにはバイト列"
と書いておくと、 python2.7 と python3.3 の両方でうまい具合に動く。
文字列以外の部分は、努力と根性で書き直せばよさそう。
Python3 への porting Howto もいろいろあるんだけど、なかなか進捗しないなー
Porting Python 2 Code to Python 3
http://docs.python.org/py3k/howto/pyporting.html
Porting C Modules
http://docs.python.org/py3k/howto/cporting.html
Python/C API Reference Manual
http://docs.python.org/py3k/c-api/index.html
http://docs.python.org/c-api/index.html
ライブラリをPython3対応に書き換える(清水川Web)
http://www.freia.jp/taka/blog/768/index.html
BP Study #54 そろそろ Python3 (@aodag)
http://www.slideshare.net/aodag/bpstudy54-python3
中でも、@aodag さんの BP Study #54 の資料は非常に役に立つ。
ちなみに、 PyCon JP 2012 の3日目のスプリントで @aodag さんが Pyramid の Python3 へのポーティングをやるそうなので、興味ある人は参加してあげてちょ
https://github.com/Pylons/pyramid/wiki/Sprint-Ideas
コメント 0