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 :

Shutil CopyTree ensemble d'un répertoire


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Août 2018
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Août 2018
    Messages : 56
    Par défaut Shutil CopyTree ensemble d'un répertoire
    Bonjour le forum mon script avance plutôt pas mal mais je bloque sur Shutil CopyTree si j'ai bien compris avec ceci je peux faire la copie d'un fichier avec dedans contenant diverses choses, imaginons plusieurs images, à l'heure actuel j'y arrive pas

    Pour le moment j'arrive à faire la copie d'un fichier texte (par exemple) de mon bureau vers un répertoire de mon bureau, le faire bouger sur un autre mais copier un ensemble de données dans u fichier non...

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    import os
    import shutil
     
    # Dossier source
    src = "/Users/lordi/Desktop/TSTFICHIER.txt"
    #Dossier destination
    dst = "/Users/lordi/Desktop/ICI"
    dst2 = "/Users/lordi/Desktop/ICI2"
     
    print(" \n ce script permet de faire deux choses, la sauvegarde de son site web, la restauration de ton site web ;) ")
     
    L1= ["Sauvegarde du site web", "Restauration du site" , "Quitter le script"]
     
    # j ai ajoute la ligne suivante
    continu = 'm'
    # j ai ajoute le while a la ligne suivante
    while continu == 'm':
        nbr = 1
        for decision in L1:
            print(nbr,"-> ", decision,)
            nbr+=1
     
        print("\n" "Quels est ton choix""\n")
        choix: int = int(input("choix : "))
     
        if choix >0 and choix<=len(L1):
            print("Vous avez choisi : ", L1[choix-1])
            if choix == 1:
                print("Sauvegarde en cours")
                try:
                    shutil.copy(src, dst)
                    print("Fichier copié avec succès!!!")
                except shutil.SameFileError:
                    print("La source et la destination représentent le même fichier")
                except PermissionError:
                    print("Permission refusée problème de droit?")
                except:
                    print("Une erreur s'est produite lors de la copie du fichier")
     
            if choix == 2:
                print("Restitution de la sauvegarde")
                try:
                    shutil.copy(dst+"/TSTFICHIER.txt", dst2)
                    print("La restitution est ok!!!")
                except shutil.SameFileError:
                    print("La source et la destination représentent le même fichier")
                except PermissionError:
                    print("Permission refusée problème de droits?")
                except:
                    print("Une erreur s'est produite durant la restitution")
     
     
     
     
     
        else:
     
            print("Ce choix là est IMPOSSIBLE")
     
         # j ai ajoute la ligne ci-dessous
        continu = input("\nVoulez-vous revenir sur le menu principal (M = Menu , p = partir) ?" )
    Ce que j'aimerai c'est pouvoir copier l'ensemble du dossier wordpress présent par exemple directement dans "C:/"

    Nom : Wordpress.png
Affichages : 101
Taille : 8,1 Ko

    Et qu'il ressorte par exemple sur le bureau en format zip et ensuite sens inverse dézipé le fichier dans pour qu'il retourne dans le "C:/"

    Merci pour l'aide

  2. #2
    Membre averti
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Août 2018
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Août 2018
    Messages : 56
    Par défaut
    Update

    J'ai tenté avec CopyTree mais j'ai pas l'impression que ça copie quelque chose... dans le fichier de destination (ICI pour moi) il est vierge... il doit surement me manquer un petit truc mais quoi

    Nom : CopyTree.png
Affichages : 77
Taille : 94,8 Ko

  3. #3
    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 kaillros Voir le message
    J'ai tenté avec CopyTree mais j'ai pas l'impression que ça copie quelque chose... dans le fichier de destination (ICI pour moi) il est vierge... il doit surement me manquer un petit truc mais quoi
    Il faut apprendre à lire la documentation.
    C'est une lecture "active": on lance l'interpréteur Python, on essaie les commandes pour vérifier qu'on a bien compris ce que les mots utilisés veulent dire (au moins que çà fait ce qu'on attend).
    Lecture qu'on ne peut faire qu'en ayant un peu de base de programmation avec Python. Par exemple si le prototype de la fonction est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    shutil.copytree(src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False)
    çà veut dire qu'il ne sert a rien de préciser l'argument copy_function si c'est shutil.copy2 (puisque c'est la fonction par défaut).
    De plus passer shutil.copy2(src, dst) c'est passer le résultat de la fonction (et non la fonction) en paramètre. Si c'est None, pas étonnant que çà ne copie rien.

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 29/06/2016, 10h31
  2. Réponses: 2
    Dernier message: 03/06/2015, 10h21
  3. shutil.copytree() copie dossier
    Par noquioz dans le forum Général Python
    Réponses: 8
    Dernier message: 16/01/2009, 14h53
  4. Probleme avec shutil.copytree et les partages reseau
    Par balisong dans le forum Général Python
    Réponses: 1
    Dernier message: 04/09/2007, 15h59
  5. sélection un ensembles de fichiers dans un répertoire
    Par da_latifa dans le forum Delphi
    Réponses: 1
    Dernier message: 13/06/2006, 20h00

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