パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

「Python 3.0」リリース、仕様変更多数」記事へのコメント

  • 2to3.py(非互換チェックツール)を使って少しずつスクリプトを修正しているのですが、少々トラブルに出くわしました。
    zipファイル形式の圧縮/伸張ライブラリzipfile.ZipFileで、ファイル名エンコーディングがUTF-8決めうちになってしまったようです。

    従来のzipfile.ZipFile.writeは、zipに格納されるファイル名に8ビット文字列をそのまま使っていたため、エンコーディングを自分で選ぶことができました。
    (とゆーか、ライブラリ側が関知するところではなかった(^^;))
    しかし、Python3.0からはUNICODE文字列で与える形式となり、かつ今のところエンコーディングを変更することはできないみたい。

    impor

    • by Anonymous Coward
      リファレンス [python.org]には

      Note
      There is no official file name encoding for ZIP files. If you have unicode file names, you must convert them to byte strings in your desired encoding before passing them to write(). WinZip interprets all file names as encoded in CP437, also known as DOS Latin.

      って書いてあるけど、これってファイルネームを自分でエンコードしたbytesで渡せってことだよね。
      未確認だけどこれでできないの?

計算機科学者とは、壊れていないものを修理する人々のことである

処理中...