Bonjour je galère depuis ce matin à lancer un script
le script:
!/usr/bin/env python3
# Author: AnalogMan
# Modified Date: 2019-09-07
# Purpose: Compress/Decompress DDSZ files for Switch
# Requirements: LZ4 (pip install lz4)
import sys, os, lz4.block, argparse
def main():
print('\n======== DDSZ Archive Tool ========\n\n')
if sys.version_info <= (3,1,0):
print('Python version 3.1.x+ needed to run this script.\n\n')
return 1
# Arg parser for program options
parser = argparse.ArgumentParser(description='Process DDSZ files with LZ4')
parser.add_argument('filename', help='Path to file')
# Check passed arguments
args = parser.parse_args()
# Check if required files exist
if os.path.isfile(args.filename) == False:
print('File cannot be found.\n')
return 1
filename = args.filename
# If DDSZ, decompress RAW block
if (filename[-4:].lower()) == 'ddsz':
try:
with open(filename, 'rb') as f:
compressed = f.read()
with open(filename[:-4] + 'dds', 'wb') as f:
f.write(lz4.block.decompress(compressed[4:]))
print('DDS file decompressed successfully.\n\n')
except:
print('Could not decompress file.\n\n')
# If DDS, compress to DDSZ and include filesize.
elif (filename[-3:].lower()) == 'dds':
try:
with open(filename, 'rb') as f:
decompressed = f.read()
with open(filename[:-3] + 'ddsz', 'wb') as f:
compressed = lz4.block.compress(decompressed)
f.write((len(compressed)+4).to_bytes(4, byteorder='little', signed=True))
f.write(compressed)
print('DDS file compressed successfully.\n\n')
except:
print('Could not compress file.\n\n')
else:
print('Unsupported file.\n')
return 1
if __name__ == "__main__":
main()
Lorsque j'essaye de l’exécuter sur le shell j’obtiens cette erreur :
usage: DDSZ.py [-h] filename
DDSZ.py: error: the following arguments are required: filename
Le script vient pas de moi mais de cette page https://github.com/AnalogMan151/DDSZ_Tool/blob/master/DDSZ.py
Si quelqu'un aurait la gentillesse de m'aider
le message est clair, il faut indiquer le nom du ficher quand tu lances le script
Quand je le lance avec double click il se referme
Normal tu dois faire les compressions et décompressions à partir du shell.
Avec la commande :
Pour Compresser :python NomduScript.py NomFichierACompresser
Pour DéCompresser :python NomduScript.py NomFichierADéCompresser
Le 28 septembre 2020 à 15:08:12 cybevil a écrit :
Normal tu dois faire les compressions et décompressions à partir du shell.
Avec la commande :Pour Compresser :
python NomduScript.py NomFichierACompresser
Pour DéCompresser :
python NomduScript.py NomFichierADéCompresser
Tu peux me dire la ligne exate que je dois taper avec se script pour décompresser ,je suis une brèle ...
Pas de soucis, d'abord place ton fichier de script python et tes fichiers à décompresser dans le même dossier.
Puis donne moi leurs noms.
le fichier que j'aimerai décompresser se nomme d5w028_0_old.ddsz
Et ton fichier de script python ?
DDSZ.py
D'accord, est-ce que tu sais te déplacer dans l'invite de commande (cmd) avec les commande "cd" et "dir" ?
Non pas vraiment
"cd" s'est pour crée non?
Non mais c'est assez simple, dir te permet d'afficher les dossier du répertoire dans lequel tu es et "cd nomDossier" te permet de rentrer dans un dossier.
Tu dois ouvrir une invite de commande et te déplacer jusqu'au dossier où se trouve tes fichiers.
powershell c'est bon?
j'ai mit mon dossier DDSZ TOOL qui contient DDSZ.py et d5w028_0_old.ddsz dans la racine de D:
Oui powershell ça devrais être bon.
En fait le truc à verifier c'est que "C:\Users\nomUser\Desktop\testDecompresse" soit bien le chemin vers l'endroit qui contient tes fichiers.
Une fois que c'est bon, tu peux écrire : python DDSZ.py d5w028_0_old.ddsz
Desktop s'est le bureau non?
Le 28 septembre 2020 à 16:06:22 kermit-et-peggy a écrit :
Desktop s'est le bureau non?
Oui oui, entraine toi peut-être à te déplacer dans les dossiers du powershell, puis essaye se que j'ai écrit, ça devrait marcher
Merci c'est bon ça fonctionne
Merci de ta patiente