[PYTHON] À propos du chemin japonais de pyminizip

Qu'est-ce que pyminizip?

Vous pouvez compresser les fichiers avec python. Il y a aussi zipfile``` dans la bibliothèque standard de python, mais celle-ci ne peut pas mettre de mot de passe sur zip. Je voulais définir un mot de passe cette fois, alors j'ai essayé d'utiliser pyminizip ''.

Mon environnement

C'est windows10 (Pro). python est `` Python 3.7.1 ''. Cela n'a pas vraiment d'importance. Cet article s'adresse aux utilisateurs de Windows comme moi qui continuent à fumer le doux miel de Microsoft. Les gens UNIX font quelque chose par eux-mêmes!

Installation

Tapez simplement la commande suivante

pip install pyminizip

Comment l'utilisez vous

C'est normal d'écrire comme ça

test_zip.py


import pyminizip

pyminzip.compress(
    'Nom du fichier source',
    'Préfixe du fichier source',
    'Nom du fichier de sortie.zip',
    'mot de passe',
    int(0)               #Taux de compression: 0-9(0 est décompressé)
)

1er argument: zip Nom du fichier à compresser 2ème argument: répertoire dans lequel vous souhaitez placer le fichier après compression zip Troisième argument: nom du fichier de sortie Quatrième argument: mot de passe Cinquième argument: le taux de compression. Vous pouvez spécifier 0-9. 0 est décompressé

Par exemple, si vous exécutez pyminizip.compress ('src / src.txt', 'dir', 'output.zip', 'password', int (0)) , il sera à l'endroit où il a été exécuté. Un fichier zip avec dir / src.txtà l'intérieur est sorti avec le nom de fichieroutput.zip```.

Sujet principal

Si vous êtes japonais, il y a des moments où vous souhaitez sortir en japonais, comme le nom du fichier source ou le nom du fichier de sortie, n'est-ce pas? Cependant, `` pyminizip '' donnera une erreur si vous lancez simplement une chaîne normalement. L'erreur se présente comme suit.

Traceback (most recent call last):
  File "test_zip.py", line 28, in <module>
    test1()
  File "test_zip.py", line 16, in test1
    int(0)
OSError: error in opening output/tester.txt for reading

Alors, que faire est la suivante.

test_zip.py


import pyminizip

pyminzip.compress(
    'Nom du fichier source'.encode('cp932'),
    'Préfixe du fichier source'.encode('cp932'),
    'Nom du fichier de sortie.zip'.encode('cp932'),
    'mot de passe'.encode('cp932'),
    int(0)               #Taux de compression: 0-9(0 est décompressé)
)

Si vous changez le code de caractère en cp932```, il passera. Probablement parce que Windows utilise `` cp932 ''.

Résumé

Je veux créer un fichier zip avec un mot de passe, mais je ne peux pas le faire avec la bibliothèque standard zipfile```, alors j'ai essayé d'utiliser pyminizip```, mais j'obtiens une erreur avec un fichier japonais. fait. J'espère que cela aide quelqu'un. Il est également bon de regarder en arrière.

référence

pyminizip: type officiel

Recommended Posts

À propos du chemin japonais de pyminizip
À propos du support japonais de cometchat
[Linux] À propos de PATH
À propos des polices japonaises de matplotlib (pour Mac)
Linux (à propos du chemin du répertoire)
À propos de tout numpy
À propos de l'attribution de numpy.ndarray
À propos de MultiIndex of Pandas
À propos de la variable du chainer
Localisation japonaise de Pycharm
À propos de max_iter de LogisticRegression () de scikit-learn
Paramètre de localisation japonais de PyCharm
À propos de divers encodages de Python 3
À propos de tout numpy (2e)
À propos du calcul des coûts de MeCab
À propos de la fraction approximative du rapport de circonférence
Traduction japonaise du manuel sysstat
À propos des composants de Luigi
Traduction japonaise du manuel Linux
À propos de la sortie HOG de Scikit-Image
À propos des fonctionnalités de Python
À propos de la gestion des données d'Anvil-App-Server
Traduction japonaise du manuel e2fsprogs
Obtenez le chemin absolu du processus en cours d'exécution
À propos de la valeur de retour de pthread_mutex_init ()
À propos de la valeur de retour de l'histogramme.
À propos du type de base de Go
Extraction de sujets de texte japonais 1 Bases
À propos de la limite supérieure de threads-max
À propos du croisement circulaire d'algorithmes génétiques
Traduction japonaise du manuel man-db
Traduction japonaise appropriée de pytorch tensor_tutorial
À propos du comportement de yield_per de SqlAlchemy
À propos de l'erreur d'importation de PyQt5.QtWidgets (Anaconda)
À propos de la taille des points dans matplotlib
À propos du traitement des demi-teintes couleur des images
Traduction japonaise du manuel util-linux
À propos de la liste de base des bases de Python
Traduction japonaise du manuel iproute2