Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1900 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  [ Python ] problème libftp [ resolu ]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ Python ] problème libftp [ resolu ]

n°379036
chaica
Posté le 30-04-2003 à 21:38:26  profilanswer
 

retrlines(command[, callback])
    Retrieve a file or directory listing in ASCII transfer mode. command should be an appropriate "RETR" command (see retrbinary() or a "LIST" command (usually just the string 'LIST';). The callback function is called for each line, with the trailing CRLF stripped. The default callback prints the line to sys.stdout.
 
j'aimerais utiliser cette methode mais il faudrait que je redirige ce qui va s'afficher vers une liste par exemple, ou au pire un fichier.
 
Je vois pas trop comment m'y prendre.
 
CHaiCA


Message édité par chaica le 01-05-2003 à 11:59:02
mood
Publicité
Posté le 30-04-2003 à 21:38:26  profilanswer
 

n°379039
Taz
bisounours-codeur
Posté le 30-04-2003 à 21:40:03  profilanswer
 

et alors, ou est le problème?

n°379040
chaica
Posté le 30-04-2003 à 21:41:53  profilanswer
 

Ben je n'arrive pas à récupere ce qui sort sur stdout. Je veux le mettre dans une liste et non pas que ca apparaisse dans mon terminal.
 
CHaiCA

n°379065
Taz
bisounours-codeur
Posté le 30-04-2003 à 22:07:20  profilanswer
 

ben tu n'as qu'a donner une fonction qui fait rien
 
genre
 
def doNothing(arg): pass
 
 
ou alors tu peux faire
 
 
class Adder:
 
  def __init__(self):
     self.liste=[]
 
  def __call__(self, arg):
     self.liste.append(arg)
 
 
a=Adder()
 
ftp.retrlines('LIST', a)


Message édité par Taz le 30-04-2003 à 22:07:50
n°379193
e_esprit
Posté le 01-05-2003 à 02:33:46  profilanswer
 

plus simple :

Code :
  1. liste = []
  2. ftp.retrlines('LIST', liste.append)


 
EDIT: ++Taz> a mon avis ca marche pas ton truc, les methodes de la ftplib attendent generalement une methode comme second arg, pas un objet...


Message édité par e_esprit le 01-05-2003 à 02:34:56
n°379225
Taz
bisounours-codeur
Posté le 01-05-2003 à 09:19:55  profilanswer
 

oupas, c'est vrai que j'avais pas pensé à la méthode simple, mais la mienne marche à coup sur, je l'utilise tout le temps avec d'autres fonctions. Je dis ma méthode, mais c'est une technique archi connue.
 
 
EDIT: typage dynamique, on s'en fout méthode, fonction ou objet, on veut juste un objet avec l'attribut __call__


Message édité par Taz le 01-05-2003 à 09:20:57
n°379274
e_esprit
Posté le 01-05-2003 à 11:56:26  profilanswer
 

++Taz a écrit :

oupas, c'est vrai que j'avais pas pensé à la méthode simple, mais la mienne marche à coup sur, je l'utilise tout le temps avec d'autres fonctions. Je dis ma méthode, mais c'est une technique archi connue.
 
 
EDIT: typage dynamique, on s'en fout méthode, fonction ou objet, on veut juste un objet avec l'attribut __call__


Vi c'est pa fo... mais un chti peu tordu quand meme...
Sinon pour utiliser avec un fichier, faut faire qqchose du style :

Code :
  1. class Fichier():
  2.     def __init__(self, filename):
  3.         self.file = open(filename, 'w')
  4.     def ajoute(self, line): 
  5.         self.file.write(line)
  6.         self.file.write('\n')
  7.        
  8. [OU]   
  9.     def __call__(self, line):
  10.         self.file.write(line)
  11.         self.file.write('\n')
  12. ...
  13. fich = Fichier('listing.txt')
  14. ftp.retrlines('LIST', fich.ajoute)
  15. [OU]
  16. ftp.retrlines('LIST', fich)


 
Spa bete finalement ton système de redefinir __call__
J'ai appris un truc, merci :jap:  
Spa si tordu que a en y reflechissant... :D

n°379275
chaica
Posté le 01-05-2003 à 11:58:37  profilanswer
 

Merci à vous deux!
 
CHaiCA

n°379276
Taz
bisounours-codeur
Posté le 01-05-2003 à 11:58:54  profilanswer
 

ben c'est le principe des objets-fonctions (que sont les focntions Python)
 
c'est également tres utilisé en C++


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  [ Python ] problème libftp [ resolu ]

 

Sujets relatifs
[C] Probleme d'édition de lienproblème avec la mise à jour de données en VB avec ADO
[ Python ] Problème avec TkinterPitit probleme de selection (UP prob 2)
Problème d'activeX = Comdlg32.ocx[PYTHON] Importer une dll écrite en C
problème avec tomcat[C]probleme de if for
[shell] probleme sed pour substitution (help 60 fichiers) 
Plus de sujets relatifs à : [ Python ] problème libftp [ resolu ]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR