programme recupere donnée

programme recupere donnée - Python - Programmation

Marsh Posté le 09-06-2011 à 10:33:37    

bonjour,
 je doit realiser un petit programme qui recupere qlq mots clé ecrit ds un fichier  
et les ecrire dans un autre fichier.
donc j'ai ecrit cela:
 
#!/usr/bin/python
# vim : set fileencoding=utf-8 :
 
#
# filtrecours.py
#
# Extrait  
#
 
def filtrer(source.txt, dest.txt):
    """Fonction de traitement.
 
    Lit et traite ligne par ligne le fichier source (src).
 
 
    Le résultat est écrit au fur et à mesure dans le
    fichier destination (dst).  
    """
     
    #champs séparés par une virgule
     
    entete = source.txt.readline().rstrip('\n\r').split("," )
     
           
     
     
   
pass # A DEFINIR!
 
 
# Ouverture du fichier source
source = open("template.txt", "r" )
 
# Ouverture du fichier destination
destination = open("dest.txt", "w" )
 
 
# Appeler la fonction de traitement
filtrer(template.txt, dest.txt)
 
 
# Fermeture du fichier destination
dest.txt.close()
 
# Fermerture du fichier source
template.txt.close()[spoiler]
 
 
voila le probleme je sais comment proceder pour ecrire la fonction filtre!!
vu que les mots que je doit recuperer sont un peu partout au fichier  
mais l'avantage c'est que ces mot comment tous par les mm lettre exemple:
art_12
art_35
art_78

Reply

Marsh Posté le 09-06-2011 à 10:33:37   

Reply

Marsh Posté le 09-06-2011 à 10:34:22    

je veux je sais pas comment proceder!!!

Reply

Marsh Posté le 09-06-2011 à 10:34:42    

je veux dire je sais comment proceder!!

Reply

Marsh Posté le 09-06-2011 à 15:04:52    

ouff voila j'ai reussi a recuperer ce que je voulais!!
sauf que pour le moment j'aimerai bien que ces donnée que j'ai recuperé
soit transferer directement sur un fichier!!
merci de m'aide!!! :)
 
 
def recup(filename=None):
    result=[]
    f=open(filename,"r" )
    for line in f.readlines():
          if str.find(line,'art ls')!=-1 :
              begin=str.find(line,'art ls')
              end=str.find(line[begin+6:],'{')
              result.append(line[begin+6:end])
          if str.find(line,'art LS')!=-1 :  
              begin=str.find(line,'art LS')
              end=str.find(line[begin+6:],'{')
              result.append(line[begin+6:end])
    print result
 
while 1:
    try:
        fi = raw_input('File:\n')
        print fi
        recup(filename=fi)
    except:
       1
 
 

Reply

Marsh Posté le 09-06-2011 à 15:59:07    

pour ecrire les données dans un fichier  
j'ai ajouté ca:
 
import pprint
pprint.pprint(result, open("dest.txt", "wb" ))  
 
 
aprés la boucle for
et la il m'affiche erreur au niveau la result!!

Reply

Marsh Posté le 11-08-2011 à 09:21:07    

Salut,
 
Pourquoi tu n'utilises pas f.write(line) pour écrire dans ton fichier de destination au lieu de print?


Message édité par alex2006 le 11-08-2011 à 09:22:07
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed