IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Besoin d'aide pour un programme


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2020
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2020
    Messages : 7
    Par défaut Besoin d'aide pour un programme
    Bonjour à vous,
    J'ai un stock de fichiers qui ont les mauvaises extensions (ou pas du tout d'extension) que j'ai extrait de plusieurs apk (fichiers d'application android) et j'aimerai faire un programme qui renomme automatiquement leur extensions vers les bonnes
    Pour l'instant j'en suis là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    import os
    for element in os.listdir('C:/Users/yohan/Desktop/python'):
        file = open(f'C:/Users/yohan/Desktop/python/{element}')
        magic = file.read(4)
        file.close()
        b0 = ord(magic[0])
        b1 = ord(magic[1])
        b2 = ord(magic[2])
        b3 = ord(magic[3])
        if (b0==255 and b1==216 and b2==255):
            os.rename(element,__name__.jpeg)
        if (b0==79 and b1==103 and b2==103):
            os.rename(element,__name__.ogg)
        if (b0==71 and b1==73 and b2==70 & b3==56):
            os.rename(element,__name__.gif)
        if (b0==66 and b1==77):
            os.rename(element,__name__.bmp)
        if (b0==137 and b1==80 and b2==78 and b3==71):
            os.rename(element,__name__.png)
    python 3.8 me dit ça

    tandis que python 2.7 me dit qu'il y a une erreur de synthaxe sur l'apostrophe à la ligne 3 après {element}

    Pouvez vous m'aider à le faire fonctionner svp ?

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    Citation Envoyé par yosh_y Voir le message
    python 2.7 me dit qu'il y a une erreur de synthaxe sur l'apostrophe à la ligne 3 après {element}
    çà c'est facile: les f-string n'existent que dans les dernières versions de Python3...

    Pour le reste, est-ce qu'un fichier .ogg ou .jpg est un fichier texte encodé en cp1252 ou juste un fichier binaire?
    ou est ce que le renommage doit se baser sur la valeur des 4 premiers octets ou de celle des 4 premiers caractères?

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2020
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2020
    Messages : 7
    Par défaut
    en ouvrant n'importe quel ficher ogg avec hex editor (ou notepad ++) les premières valeurs sont toujours "ogg", le renommage se base sur les premiers octets, pour png c'est 4, pour ogg c'est 3

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Citation Envoyé par yosh_y Voir le message
    le renommage se base sur les premiers octets, pour png c'est 4, pour ogg c'est 3
    Et pour lire un fichier en mode binaire, il faut l'ouvrir en mode binaire... et revoir tout votre code.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2020
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2020
    Messages : 7
    Par défaut
    N'y a t'il pas une fonction pour lire les octets ?

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Citation Envoyé par yosh_y Voir le message
    N'y a t'il pas une fonction pour lire les octets ?
    Ouvrez un tuto. pour comprendre ce que signifie ouvrir un fichier en mode binaire et vous saurez que f.read(4) est la bonne fonction.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    Regarde dans ton dossier ".../Python/Python38" le fichier imghdr.py

    Ce code lit l'entête des fichiers images et en retourne le format. (tiff, jpg, png, etc).

    Il ne prend pas en charge le format ogg, mais il te suffit de rajouter quelques lignes de code à cet exemple pour obtenir ce que tu veux.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Besoin d'aide pour un programme de PGCD
    Par Shapsed dans le forum C
    Réponses: 4
    Dernier message: 23/09/2007, 15h06
  2. besoin d'aide pour mon programme
    Par pouyoudu17 dans le forum Débuter avec Java
    Réponses: 11
    Dernier message: 28/05/2007, 22h18
  3. Réponses: 4
    Dernier message: 24/04/2007, 10h18
  4. [débutant] besoin d'aide pour un programme
    Par acdchornet dans le forum C++
    Réponses: 12
    Dernier message: 26/10/2006, 22h32
  5. [Free Pascal] Besoin d'aide pour un programme
    Par ricomix dans le forum Free Pascal
    Réponses: 3
    Dernier message: 04/06/2006, 17h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo