Intro
偉大なる課題管理ツール trac で、チケット検索した結果スナップショットを保存しておきたいと思って、SnapshotPlugin というプラグインを作って公開していたところ、公開から5年半経って「unicodeが入ってるとうまく動かないからパッチ作ったよ」というIssueが発行された。
んー。パッチではunicode()を使ってて、Python3で動かなさそう。現時点でtracは確かにPython2系で動作していて、Python3系での動作は保証していないのだけれど、将来もそのままで動くようにしておきたい。どうしよう。
Python3でunicode()を使いたい
とりあえず「unicode()がなかったらstr()で代用する」ようにしてみる。
try:
unicode
except:
unicode=str
正しくは
Python 2 と 3 を同時にサポートするにはどうすればよいかを解説した公式ガイド http://docs.python.jp/3/howto/pyporting.html を見よ。
宿題
- 適当に考えただけなので、ちゃんと考えたい。
-
u'ゆにこーど'
という表現は、python3.3以上ならそのまま使って大丈夫みたい。3.0~3.2は……無視してもよいかな?