English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

pythonでFedoraのzipアーカイブ解凍時の中国語の乱雑な文字を解決する方法

前書き

多くの場合、Windowsでファイルを圧縮すると問題はありませんが、Linuxでは乱文字がよく見られます。以前はUbuntuで`unzip`を使っていました。 -O GBK filename.zip` で解決できます。Fedora に移行してから、一時的にエンコードエラーのある圧縮ファイルを見つけることができませんでした。今夜、書籍のディスクをダウンロードして、またエンコードエラーに直面しました。前の方法を試しても失敗しました。unzipのヘルプを確認してみましたが、まだ解決していません。-O そのパラメータがどうやら Python で解決できる方法を見つけました。共有します。

`.py` 修飾子を持つ新しいファイルを作成し、コードをコピー&ペーストします:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import sys
import zipfile
print "Processing File " + sys.argv[1]
file=zipfile.ZipFile(sys.argv[1],"r");
for name in file.namelist():
  utf8name=name.decode('gbk')
  print "Extracting " + utf8name
  pathname = os.path.dirname(utf8name)
  if not os.path.exists(pathname) and pathname!= "":
    os.makedirs(pathname)
  data = file.read(name)
  if not os.path.exists(utf8name):
    fo = open(utf8name, "w")
    fo.write(data)
    fo.close
file.close()

zip ファイルを解凍すると、可愛い中国語が現れます。

python ファイル名.py 解凍するファイル名.zip

まとめ

それでは、この問題はこんなに簡単に解決しました。皆さんは学びましたか?この記事が皆さんの学習や仕事に少しでも役立つことを願っています。何か疑問があれば、コメントで質問してください。

基本チュートリアル
おすすめ