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 :

créer des exceptions lors d'un os.rename()


Sujet :

Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    étudiant
    Inscrit en
    Juillet 2020
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Juillet 2020
    Messages : 7
    Points : 7
    Points
    7
    Par défaut créer des exceptions lors d'un os.rename()
    Bonjour, ce code m'indique une erreur , il ne souhaite pas renommer le fichier desktop.ini dans le fichier screenshot de windows.
    Je voudrai savoir si il est possible de créer des exceptions pour les fichiers que l'on ne souhaite pas renommer. Dans mon cas ce serait desktop.ini
    Sauriez vous me dire si cela est possible et comment faire pour résoudre mon problème.
    Merci d'avance pour vos réponses.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for count, filename in enumerate(os.listdir('{}\\Users\\{}\\Pictures\\Screenshots\\'.format(hdd_letter, username_win_id))):
            dst ="Hostel" + str(count) + ".png"
            src ='{}\\Users\\{}\\Pictures\\Screenshots\\'.format(hdd_letter, username_win_id) + filename  # source
            dst ='{}\\Users\\{}\\Nouveau dossier\\'.format(hdd_letter, username_win_id) + dst #destination
            os.rename(src, dst)

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Citation Envoyé par KABOULEHHHH Voir le message
    Je voudrai savoir si il est possible de créer des exceptions pour les fichiers que l'on ne souhaite pas renommer. Dans mon cas ce serait desktop.ini
    Sauriez vous me dire si cela est possible et comment faire pour résoudre mon problème.
    Vous pouvez toujours filtrer les fichiers à en fonction d'une liste de fichiers à ne pas renommer.
    Ce que vous devriez savoir faire car dans tous les tutos vous avez des exercices du genre fabriquer N entiers au hasard puis filtrer les pairs, impairs et autres,...

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

  3. #3
    Membre éclairé
    Homme Profil pro
    BTS SN IR
    Inscrit en
    Mai 2017
    Messages
    513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : BTS SN IR

    Informations forums :
    Inscription : Mai 2017
    Messages : 513
    Points : 700
    Points
    700
    Par défaut
    il serait préférable d'utiliser pathlib,

    il faut utiliser un bon vieux block if


    ma proposition en utilisant pathlib
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    from pathlib import Path
     
    src_folder = Path().home() / "Pictures" / "input"
     
    dest_folder = Path().home() / "Pictures" / "output"
    dest_folder.mkdir(exist_ok=True, parents=True)
     
     
    for file in src_folder.glob("*.*"):
        if file.suffix in (".png", ".jpg"):
            file.replace(dest_folder / file.parts[-1])
    Tous les fichiers png et jpg seront transféré de input vers output (si un fichier existe déjà dans output il sera écrasé)

  4. #4
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 690
    Points : 30 985
    Points
    30 985
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par KABOULEHHHH Voir le message
    Je voudrai savoir si il est possible de créer des exceptions pour les fichiers que l'on ne souhaite pas renommer. Dans mon cas ce serait desktop.ini
    On peut très bien créer une exception sur n'importe quel évènement arrivant dans son code. Donc ici ce serait
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for (count, filename) in enumerate(os.listdir('{}\\Users\\{}\\Pictures\\Screenshots\\'.format(hdd_letter, username_win_id))):
    	if filename == "desktop.ini":
    		raise IOError ("Impossible de renommer desktop.ini")
    	...
    # for
    Toutefois, puisque os.rename() renvoie lui-même une exception, je ne vois pas trop à quoi servira d'en créer une seconde pour le même cas...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Membre éclairé
    Homme Profil pro
    BTS SN IR
    Inscrit en
    Mai 2017
    Messages
    513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : BTS SN IR

    Informations forums :
    Inscription : Mai 2017
    Messages : 513
    Points : 700
    Points
    700
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Bonjour

    On peut très bien créer une exception sur n'importe quel évènement arrivant dans son code. Donc ici ce serait
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for (count, filename) in enumerate(os.listdir('{}\\Users\\{}\\Pictures\\Screenshots\\'.format(hdd_letter, username_win_id))):
    	if filename == "desktop.ini":
    		raise IOError ("Impossible de renommer desktop.ini")
    	...
    # for
    Toutefois, puisque os.rename() renvoie lui-même une exception, je ne vois pas trop à quoi servira d'en créer une seconde pour le même cas...
    je pense que c'est plus exclusion que exception que l'auteur voulait dire

  6. #6
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 690
    Points : 30 985
    Points
    30 985
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par flapili Voir le message
    je pense que c'est plus exclusion que exception que l'auteur voulait dire
    Mouais, probablement. Mais dans le doute j'ai explicité sur l'exception...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. [9.3] Créer un exception lors d'une erreur 22P02
    Par aurelie.guegan.15 dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 02/12/2014, 11h44
  2. Créer des exceptions personnalisées dans ma classe.
    Par bonagad1 dans le forum VB.NET
    Réponses: 2
    Dernier message: 13/01/2011, 12h09
  3. [Liferay] Exception lors d'utilisation des associations avec criteria
    Par lamis2009 dans le forum Portails
    Réponses: 0
    Dernier message: 17/06/2010, 18h09
  4. Exception lors des <t:message>
    Par Nemehy dans le forum JSF
    Réponses: 1
    Dernier message: 11/06/2008, 13h43
  5. créer des exceptions
    Par *alexandre* dans le forum Langage
    Réponses: 3
    Dernier message: 01/09/2006, 14h46

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