CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Python] Erreur au lancement du fichier .py

Kermit-et-peggy
Kermit-et-peggy
Niveau 7
28 septembre 2020 à 13:26:20

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 :-)

El_Camino
El_Camino
Niveau 10
28 septembre 2020 à 14:39:00

le message est clair, il faut indiquer le nom du ficher quand tu lances le script

Kermit-et-peggy
Kermit-et-peggy
Niveau 7
28 septembre 2020 à 14:47:02

Quand je le lance avec double click il se referme

cybevil
cybevil
Niveau 27
28 septembre 2020 à 15:08:12

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

Kermit-et-peggy
Kermit-et-peggy
Niveau 7
28 septembre 2020 à 15:24:43

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 ...

Message édité le 28 septembre 2020 à 15:29:15 par Kermit-et-peggy
cybevil
cybevil
Niveau 27
28 septembre 2020 à 15:37:20

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.

Kermit-et-peggy
Kermit-et-peggy
Niveau 7
28 septembre 2020 à 15:46:23

le fichier que j'aimerai décompresser se nomme d5w028_0_old.ddsz

cybevil
cybevil
Niveau 27
28 septembre 2020 à 15:46:56

Et ton fichier de script python ?

Kermit-et-peggy
Kermit-et-peggy
Niveau 7
28 septembre 2020 à 15:49:12

DDSZ.py

cybevil
cybevil
Niveau 27
28 septembre 2020 à 15:49:51

D'accord, est-ce que tu sais te déplacer dans l'invite de commande (cmd) avec les commande "cd" et "dir" ?

Kermit-et-peggy
Kermit-et-peggy
Niveau 7
28 septembre 2020 à 15:51:19

Non pas vraiment
"cd" s'est pour crée non?

cybevil
cybevil
Niveau 27
28 septembre 2020 à 15:52:33

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.

Message édité le 28 septembre 2020 à 15:55:56 par cybevil
Kermit-et-peggy
Kermit-et-peggy
Niveau 7
28 septembre 2020 à 15:57:08

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:

Message édité le 28 septembre 2020 à 15:59:32 par Kermit-et-peggy
cybevil
cybevil
Niveau 27
28 septembre 2020 à 16:00:17

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

Message édité le 28 septembre 2020 à 16:00:59 par cybevil
Kermit-et-peggy
Kermit-et-peggy
Niveau 7
28 septembre 2020 à 16:06:22

Desktop s'est le bureau non?

cybevil
cybevil
Niveau 27
28 septembre 2020 à 16:07:34

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

Kermit-et-peggy
Kermit-et-peggy
Niveau 7
28 septembre 2020 à 16:23:16

Merci c'est bon ça fonctionne
Merci de ta patiente

Sous forums
  • Aide à l'achat Mac
  • Internet
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment