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 :

Problème fonction fic


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 79
    Par défaut Problème fonction fic
    Bonsoir,

    j'ai un petit problème avec mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    fic1=open('/home/test/recopiage.html','r')
    fic2=open('/home/test/recopiage.xml','w')
     
    ch=fic1.readline()
     
    while ch!="":
    	fic2.write(ch)
     
    fic1.close()
    fic2.close()
    ça recopie bien le contenu du fichier, mais ça tourne en boucle sans s'arrêter! :/ j'ai oublié un truc?

    ++

  2. #2
    Membre émérite
    Avatar de panda31
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2003
    Messages : 670
    Par défaut
    Citation Envoyé par csseur22 Voir le message
    Bonsoir,

    j'ai un petit problème avec mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    fic1=open('/home/test/recopiage.html','r')
    fic2=open('/home/test/recopiage.xml','w')
     
    ch=fic1.readline()
     
    while ch!="":
        fic2.write(ch)
     
    fic1.close()
    fic2.close()
    ça recopie bien le contenu du fichier, mais ça tourne en boucle sans s'arrêter! :/ j'ai oublié un truc?

    ++
    Salut

    Tu lis une seule fois dans fic1 ! ch = fic.readline() ne lit qu'une ligne.
    Ensuite tu fais une boucle . Comme tu ne relis pas dans fic1, tu n'actualises pas ch et donc tu crées une *MAGNIFIQUE* boucle infinie. Félicitations !

    Pour moi, ce serait :
    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
     
    # Ouvrir fichier à lire
    fic1 = open( '/home/test/recopiage.html', 'r' )
     
    # Lire entièrement fic1 dans la LISTE ch
    ch = fic1.readlines()
     
    # Fermer fic1
    fic1.close()
     
    # Ouvrir fichier à remplir
    fic2 = open('/home/test/recopiage.xml','w')
    # Remplir fic2
    for line in ch
        fic2.write(line)
     
    fic2.close()
    Je trouve cela et d'un plus robuste et de deux plus joli !

    A+
    Michaël Mary
    Consultant PLM dans une société de conseil toulousaine
    Auditeur CNAM-IPST depuis septembre 2008
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
    John F. Woods
    mon cv et mon domaine et mon blog
    Aucune question technique par MP, svp

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

Discussions similaires

  1. Problème : Fonctions et commande Execute
    Par bubi dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 15/11/2005, 11h01
  2. Problème fonction SDL
    Par seeme dans le forum SDL
    Réponses: 2
    Dernier message: 06/11/2005, 20h22
  3. Problème fonction PL/SQL
    Par SSJ17Vegeta dans le forum PL/SQL
    Réponses: 2
    Dernier message: 29/10/2005, 21h14
  4. Problème fonction et trigger sous 7.2
    Par anoukhan dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 22/06/2005, 22h53
  5. Réponses: 2
    Dernier message: 20/08/2004, 17h10

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