English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Préface
Souvent, le compression des fichiers sous Windows ne pose pas de problème, mais sous Linux, cela est très courant de rencontrer des caractères codés incorrectement. Avant, sous Ubuntu, j'utilisais `unzip -O Fichier nommé `GBK filename.zip` peut être résolu. Après avoir changé Fedora, je n'ai pas trouvé de fichier compressé avec des caractères mal formés pour le moment. Le soir, j'ai téléchargé un CD d'un livre, et j'ai à nouveau rencontré des caractères mal formés. J'ai essayé la méthode précédente sans succès. J'ai regardé l'aide de unzip, et je n'ai pas}}-O paramètre de celui-là == J'ai trouvé une solution avec python, je la partage.
Créez un fichier `.py` avec une extension, copiez et collez le code directement :
#!/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()
Exécutez la décompression du fichier zip, le chinois adorable apparaît.
Nom de fichier python.py, fichier.zip à décompresser
Résumé
Bon, ce problème est résolu de manière aussi simple. Avez-vous tous appris ? J'espère que cet article peut apporter un certain aide à votre apprentissage ou à votre travail. Si vous avez des doutes, vous pouvez laisser des commentaires pour échanger.