Bonjour, je bloque sur un exercice ou je dois écrire un script qui regroupe dans un dossier les fichiers dont les noms commencent par un préfixe donné en paramètre :
Le script a 3 parametre
-le chemin/nom du dossier a partir duquel la recherche est faite
-le prefixe
-le chemin/nom du dossier dans lequel les fichiers vont être déplacés.

Exemple :
main.py DSC /IMAGES/MyPictures va regrouper dans le dossier /IMAGES/MyPictures tous les fichiers dont le nom commence par DSC contenus dans le répertoire d'accueil .

si le fichier qui va être déplacé a le même nom qu'un fichier déjà déplacé, il faut modifier son nom pour lui ajouter un suffixe : par exemple s'il existe déjà DSC000024.png le second fichier se nommera DSC000024_2.png .
Pour le script il ne doit utiliser aucune commande Shell hormis celle avec os.system() pour - creer le répertoire qui va recueillir les fichiers égarés ;
- déplacer un fichier

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
20
21
22
23
#!/usr/bin/env python3
 
import os,sys,re,shutil
 
if len(sys.argv)>=3:
    repertoire = os.mkdir(sys.argv[2])
    code = sys.argv[1]
    path = "/"
 
    def parcours (path) :
 
        liste = os.listdir(path)
        for fichier in liste:
            if(os.path.isfile(fichier)):
                resultat = re.search("code.*\.png",fichier)
                if resultat:
                    shutil.move("/fichier","repertoire") # ici je veux déplacer le fichier du répertoire d'accueil dans celui de /IMAGES/MyPictures
                if (os.path.exist(file)):
                    os.rename("code.*\.png","code.*_[0-9]\.png")
 
            else:
                parcours(fichier)
    parcours(path)
Aidez moi s'il vous plait j'ai besoin de votre aide merci d'avance