Partage
  • Partager sur Facebook
  • Partager sur Twitter

Suppression de l'extension d'un fichier

Sujet résolu
    7 juillet 2010 à 16:16:44

    Bonjour à tous.

    Je souhaite supprimer l'extension du nom de certains fichiers.
    J'ai créé une liste des fichiers présents dans mon répertoire courant. Ce qui me donne :
    IMAGERY.TIF
    k2_20100121_ms_haiti_jacmel_ortho.img
    s5_642_313_20100120_msthr_haiti_natcol.img
    s5_642_313_20100120_ms_haiti_ortho.img
    s5_642_313_20100120_thr_haiti_ortho.img

    Maintenant, il faut que j'enlève l'extension de ses fichiers. J'avais pensé à faire une petite boucle en lisant ligne par ligne mon fichier. (à l'aide de readline())
    Ensuite je mettais la chaine de caractères dans une variable puis utilisait variable[:-4]. Je ne sais pas si ça vient du fait que mon extension est en majuscule mais cette commande me renvoie ceci pour la première ligne :
    IMAGERY.T :colere2:

    Merci d'avance pour vos réponses :)

    Benoit
    • Partager sur Facebook
    • Partager sur Twitter
      7 juillet 2010 à 16:23:02

      le "\n" est présent à la fin de chaque ligne et est renvoyé par readline.
      • Partager sur Facebook
      • Partager sur Twitter
        7 juillet 2010 à 16:29:28

        Vu qu'il reste deux caractères à enlever, le PO doit être sous Windows, et il doit y avoir '\n\r' à la fin de chaque ligne.

        Mais sinon l'autre solution serait de passer par une petite expression régulière qui vire tout ce qui est présent après le dernier point dans le nom de fichier.
        • Partager sur Facebook
        • Partager sur Twitter

        Blond, bouclé, toujours le sourire aux lèvres...

          7 juillet 2010 à 16:32:55

          Tu peux aussi obtenir le même résultat plus 'sûrement' en utilisant la méthode suivante (un peu compliquée, certes, mais efficace) :
          >>> ancien_nom = "nom.avec_des.points.et.des_underscores.txt"
          >>> nouveau_nom = '.'.join(ancien_nom.split('.')[:-1])
          >>> print(nouveau_nom)
          nom.avec_des.points.et.des_underscores
          
          • Partager sur Facebook
          • Partager sur Twitter
          Zeste de Savoir, le site qui en a dans le citron !
            7 juillet 2010 à 16:34:38

            Voila avec une liste d'extensions :
            files = ['IMAGERY.TIF',
                     'k2_20100121_ms_haiti_jacmel_ortho.img',
                     's5_642_313_20100120_msthr_haiti_natcol.img',
                     's5_642_313_20100120_ms_haiti_ortho.img ',
                     's5_642_313_20100120_thr_haiti_ortho.img']
            
            files = ['.'.join(ext.split('.')[:-1]) for ext in files]
            
            • Partager sur Facebook
            • Partager sur Twitter
              7 juillet 2010 à 21:49:56

              Dans pratiquement tous mes projets python j'utilise ceci :

              http://pypi.python.org/pypi/path.py

              C'est beaucoup plus pratique que os.path et c'est très pratique. La méthode que tu cherches est namebase().
              • Partager sur Facebook
              • Partager sur Twitter
                8 juillet 2010 à 16:17:15

                Merci à tous, mon script tourne nikel :)

                Vive le forum du Zero !!! :p

                Benoit
                • Partager sur Facebook
                • Partager sur Twitter

                Suppression de l'extension d'un fichier

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown