Maison  >  Article  >  développement back-end  >  Méthode Python pour résoudre les caractères chinois tronqués lorsque Fedora décompresse le zip

Méthode Python pour résoudre les caractères chinois tronqués lorsque Fedora décompresse le zip

高洛峰
高洛峰original
2017-02-22 16:53:341682parcourir

Avant-propos

Dans de nombreux cas, il n'y a aucun problème pour compresser des fichiers sous Windows, mais sous Linux, des caractères tronqués apparaissent, ce qui est très courant. Dans le passé, sous Ubuntu, vous pouviez simplement utiliser `unzip -O GBK filename.zip` . Après le passage à Fedora, aucun fichier compressé tronqué n'a encore été trouvé. J'ai téléchargé le CD d'un livre la nuit et j'ai de nouveau rencontré des personnages tronqués. J'ai essayé la méthode précédente sans succès. Après avoir regardé l'aide de unzip, il n'y a pas de paramètre -O == Je viens de trouver une solution en utilisant python, partagez-la.

Créez un nouveau fichier avec le suffixe `.py`, copiez et collez directement le code :

#!/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 le zip de décompression fichier, mignon chinois vient de sortir.

python 文件名.py 需要解压的文件名.zip

Résumé

D'accord, c'est tout pour cette question C'est une solution simple, est-ce que tout le monde l'a appris ? J'espère que cet article pourra apporter de l'aide aux études ou au travail de chacun. Si vous avez des questions, vous pouvez laisser un message pour communiquer.

Pour plus de méthodes Python permettant de résoudre les caractères chinois tronqués lorsque Fedora décompresse le zip, veuillez faire attention au site Web PHP chinois !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn