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 :

Pourquoi je ne peux pas copier et ecrire


Sujet :

Python

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 144
    Par défaut Pourquoi je ne peux pas copier et ecrire
    Bonjour,

    je voudrais bien récuperer un texte dans un fichier et l'ecrire dans un autre
    je reduis à dix le nombre de caractères
    et rien ne se passe...Why de chez
    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
     
    #! /usr/bin/env python
    #-*- coding: utf-8 -*-
     
    def CopierFichier(source,destination):
        source= ('c:\\Python26\lefichier')
        destination=('c:\\Python26\MonFichier')
        fs = open(source,'r')
        fd = open(destination,'w')
        while 1:
     
            txt = fs.read(10)
            if txt=='':
                break
            fd.write(txt)
        fs.close()
        fd.close()
        return()
    merci de vos réponses et explications

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Par défaut
    Salut,

    Tu ne fais que définir une fonction.
    Il manque une instruction pour lancer la fonction dans une exécution donnée.


    Remarque:

    en mettant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        source= ('c:\\Python26\lefichier')
        destination=('c:\\Python26\MonFichier')
    DANS la fonction,
    tu définis une fonction qui n’est capable QUE de copier le fichier du premier nom dans un autre fichier avec le second nom.

    Il faut mettre ces noms en arguments dans l’appel de la fonction justement.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 144
    Par défaut
    Merci de cette explication mais ...euh je suis la tete dans le guidon depuis ce matin donc j'enregistre plus très bien ,ca doit etre très clair plus tot dans la journée mais là!!!
    Pour finir la journée sans explosion de cerveau ca donne quoi en code?



    PS je promet de ne plus demander cela,car je devrais trouver by myself mais pour aujourd'hui seulement

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Par défaut
    Sauf motif précis, il ne me semble pas utile de transférer les caractères par groupes de 10.

    À moins que tu comptes développer un programme pour examiner certaines choses lors du transfert; ou si le fichier de départ est très volumineux.

    Ainsi, on peut faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #! /usr/bin/env python
    #-*- coding: utf-8 -*-
     
    a = 'E:\Python\Essais Python\zz opz.py'
    d = 'E:\Python\Essais Python\zz opz COPIAGE.py'
    fs = open(s,'r')
    fd = open(d,'w')
    ch = fs.read()
    fd.write(ch)
    fs.close()
    fd.close()



    Nota Bene:
    on peut aussi faire avec un with statement
    ( j’écris from __future__ import with_statement dans mon code parce que je suis sous 2.5 mais à partir de 2.6 ce n’est plus nécesssaire).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #! /usr/bin/env python
    #-*- coding: utf-8 -*-
    from __future__ import with_statement
     
    a = 'E:\Python\Essais Python\zz opz.py'
    d = 'E:\Python\Essais Python\zz opz COPIAGE.py'
     
    fd = open(d,'w')
    with open(a,'r') as fs:
        fd.write(fs.read())
    fd.close()
    Le with_statement se débrouille pour fermer fs après avoir exécuté.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 144
    Par défaut
    merci et bonne soirée
    je vais dormir mais pas dans un ordi ca c'est sur

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Par défaut
    Pardon. Pas vu ta deuxième question avant de reposter.

    Apréés avoir défini une fonction , il suffit de l’appeler par son nom avec des arguments pour l’exécuter sur ces arguments:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    def CopierFichier(source,destination):
        etc....
     
    s = 'c:\\Python26\lefichier'
    d ='c:\\Python26\MonFichier'
     
    CopierFichier(s,d)

    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    def CopierFichier(source,destination):
        etc....
     
    CopierFichier('c:\\Python26\lefichier','c:\\Python26\MonFichier')

    PS

    Mon précédent message ne répondait pas à ta question.
    C’était des exemples de codes, sans fonction.
    Je dis ça pour qu’il n’y ait pas de confusion. Tu as tout à fait le droit de définir les fonctions que tu veux.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 144
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    a = 'E:\Python\Essais Python\zz opz.py'
    d = 'E:\Python\Essais Python\zz opz COPIAGE.py'
    fs = open(s,'r')
    il faut lire
    non?
    quoiqu'il en soit tout fonctionne et je suis bien content

  8. #8
    Membre Expert
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Par défaut
    Erreur de frappe bien sûr.
    Le a et le s sont côte à côte sur le clavier et pas trés distincts sur mon petit écran.

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 144
    Par défaut
    et voila un code qui va bien
    merci à toi!
    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
     
     
    #! /usr/bin/env python
    #-*- coding: utf-8 -*-
     
    def CopierFichier(source,destination):
     
     
        fs = open(source,'r')
        fd = open(destination,'w')
        while 1:
     
            txt = fs.read(10)
            if txt=='':
                break
            fd.write(txt)
        fs.close()
        fd.close()
    CopierFichier('c:\\Python26\lefichier','c:\\Python26\MonFichier')
    Extra ce forum!

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 04/07/2007, 16h06
  2. Réponses: 9
    Dernier message: 14/09/2006, 17h03
  3. [C#] Pourquoi je ne peux pas remplir ma liste ?
    Par cosmos38240 dans le forum Services Web
    Réponses: 5
    Dernier message: 28/08/2006, 15h13
  4. [C#] Pourquoi je ne peux pas m'authentifier ?
    Par kendras dans le forum Services Web
    Réponses: 3
    Dernier message: 21/02/2006, 13h49
  5. [C#] Pourquoi je ne peux pas sauvegarder le fichier Xml ?
    Par gregoun dans le forum Services Web
    Réponses: 5
    Dernier message: 05/05/2004, 10h00

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