Pythonでファイルを圧縮する際のファイル名文字化け対策をご紹介します。
日本語名のファイルに対して、Pythonでパスワード付き圧縮を実施する場合、ファイル名の文字化けが発生しました。
この問題はライブラリー内部仕様のため、ライブラリーを改造しないと解決できないそうですが、外部圧縮ツールをPython実装に利用して、強力、簡単的に圧縮できることを見つかりました。
外部圧縮ツール 見出しへのリンク
私がAWS LambdaのPythonスクリプトに、7-zipのコマンドラインコマンドでzip処理を実施しています。
利用している7-zipツールの7zzs
は以下のページからダウンロードしました。
Windows環境にコマンドラインの利用はもちろんできます。
利用方法 見出しへのリンク
私が7zzs
をS3の指定場所に保存し、zip処理で、s3からLambdaの/tmp配下にダウンロードして利用しています。
この場合、7zzs
の実行権限を設定する必要があるので、以下の実装をご参照ください。
Python実装 見出しへのリンク
|
|
7-zipのコマンドラインの利用紹介は、公開しているホームページにご参照ください。