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 ''.
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!
Tapez simplement la commande suivante
pip install pyminizip
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 fichier
output.zip```.
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 ''.
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.
pyminizip: type officiel
Recommended Posts