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 :

copier un fichier


Sujet :

Python

  1. #1
    Membre régulier
    Homme Profil pro
    dev
    Inscrit en
    Avril 2011
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : dev
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 174
    Points : 110
    Points
    110
    Par défaut copier un fichier
    bonjour je veux copie un fichier dans un dossier qui contien déja un fichier avec le même nom, je veux l'écraser jutilise mais j'ai cette erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IOError: [Errno 13] Permission denied
    esqu'il existe une méthode pour ecrasé le fichier déja existant dans dst
    merci

  2. #2
    Membre régulier
    Homme Profil pro
    dev
    Inscrit en
    Avril 2011
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : dev
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 174
    Points : 110
    Points
    110
    Par défaut
    juste une remarque je travail avec python 2.7.2
    et sur windows vista

  3. #3
    Expert éminent

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Ce n'est pas parce que le fichier existe déjà que tu as cette erreur.

    shutil.copy(src, dst)¶
    Copy the file src to the file or directory dst. If dst is a directory, a file with the same basename as src is created (or overwritten) in the directory specified. Permission bits are copied. src and dst are path names given as strings
    Tu n'as manifestement pas de droits dans ce dossier.

  4. #4
    Membre régulier
    Homme Profil pro
    dev
    Inscrit en
    Avril 2011
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : dev
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 174
    Points : 110
    Points
    110
    Par défaut
    Si Si je pense que j'ai le droit je vais revirifier, avec Matlab sa marche donc je vois pas la diffirence
    merci

  5. #5
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonsoir,

    Le module os vous permets de vérifier la cible.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if os.access(dst, os.W_OK):
        shutil.copy(src, dst)
    else:
        ...
    @+

    Edit : Cela vas aussi dans les deux sens
    if os.access(src, os.R_OK) and os.access(dst, os.W_OK):
    Comprendre que c'est ici une copie en mode binaire.
    shutil.copy ouvre les fichiers source et cible en binaire et copie le contenu de l'un dans l'autre.
    L'IOError viens peut être donc de src que vous ne pouvez pas lire
    Merci d'utiliser le forum pour les questions techniques.

  6. #6
    Membre régulier
    Homme Profil pro
    dev
    Inscrit en
    Avril 2011
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : dev
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 174
    Points : 110
    Points
    110
    Par défaut
    J'utilise windows vista, donc quand je veux copie un fichier qui existe déja, il renvoi un message disant si on veut copie les deux messages ou remplacer, et je crois que c'est se que empeche le module de le copier, j'ai le même problème quand je dézippe un dossier qui était déja dizziper, et franchement je vois pas comment faire, car j'ai plusieur fichiers qui existe et que je doit remplacé a chaque fois (cause d'évolution)

  7. #7
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonsoir,

    Tous les systèmes ouvrent une fenêtre de confirmation pour écraser un fichier, cela ne date pas de Vista.
    Commencez par vérifier les droits/chemin avant votre shutil.copy.
    Pourriez vous nous donner la sortie de ceci ?
    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
    if os.path.exists(src):
        if os.access(src, os.R_OK):
            print("droit en lecture de src ok")
        else:
            print("droit en lecture de src nok")
        if os.path.isdir(src):
            print("src est un repertoire")
        elif os.path.isfile(src):
            print("src est un fichier")
        else:
            print("c'est quoi src ?")
    else:
        print("src n'existe pas ou droits nok")
    if os.access(dst, os.W_OK):
        print("droit en ecriture de dst ok")
    else:
        print("droit en ecriture de dst nok")
    if not os.path.exists(dst):
        print("dst n'existe pas")
    elif os.path.isdir(dst):
        print("dst est un repertoire")
    elif os.path.isfile(dst):
        print("dst est un fichier")
    else:
        print("c'est quoi dst ?")
    shutil.copy(src, dst)
    @+
    Merci d'utiliser le forum pour les questions techniques.

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

Discussions similaires

  1. copier des fichiers
    Par Daeron dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 24/11/2004, 14h45
  2. Copier certains fichiers d'une arborescence ?
    Par narmataru dans le forum Linux
    Réponses: 4
    Dernier message: 27/04/2004, 12h15
  3. Copier coller Fichier windows
    Par KPitN dans le forum Windows
    Réponses: 8
    Dernier message: 20/04/2004, 17h32
  4. Batch pour copier des fichier
    Par borgfabr dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 09/03/2004, 07h55
  5. Détourner une fonction pour copier un fichier en mémoire
    Par Rodrigue dans le forum C++Builder
    Réponses: 6
    Dernier message: 12/11/2003, 08h29

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