begin process at 2008 07 25 10:24:16
1 216 107 membres
84 nouveaux aujourd'hui
14 180 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

SOURCE / TUTORIEL SUR LA CRÉATION D'UN CLIENT FTP AVEC FTP LIB


Information sur la source

Catégorie :Réseau & internet Classé sous : ftp, client, lib, ftplib Niveau : Initié Date de création : 18/07/2005 Vu : 5 794

Note :
8 / 10 - par 2 personnes
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note


Description

Au fur et à mesure des codes, vous aprendrez à créer un petit client FTP très léger en .py . Tous les scripts fonctionnent. Pensez à récupérer FTPLib (http://nbpfaus.net/~pfau/ftplib/).

Source

  • 'Retourne la liste des fichiers et / ou dossiers :
  • 'Code :
  • import ftplib
  • ftp = ftplib.FTP("location du serveur")
  • ftp.login("login", "mdp")
  • print ftp.dir()
  • ftp.quit()
  • 'Résultat :
  • drwxr-xr-x 1 ftp ftp 0 Jul 12 22:32 Recycled
  • drwxr-xr-x 1 ftp ftp 0 Jul 08 13:12 myor
  • drwxr-xr-x 1 ftp ftp 0 Jul 02 21:52 System Volume Information
  • drwxr-xr-x 1 ftp ftp 0 Jul 05 18:29 francois
  • 'Retourne le contenu binaire du fichier 'filename' :
  • 'Code :
  • import ftplib
  • import sys
  • def gettext(ftp, filename, outfile=None):
  • if outfile is None:
  • outfile = sys.stdout
  • ftp.retrlines("RETR " + filename, lambda s, w=outfile.write: w(s+"\n"))
  • def getbinary(ftp, filename, outfile=None):
  • if outfile is None:
  • outfile = sys.stdout
  • ftp.retrbinary("RETR " + filename, outfile.write)
  • ftp = ftplib.FTP("serveur")
  • ftp.login("login", "psw")
  • gettext(ftp, "README.txt")
  • getbinary(ftp, "README.txt") 'retourne le contenu binaire du fichier ;)
  • 'Résultat avec un fichier README.txt contenant 'coucou' :
  • >>> ========================== RESTART ===========================
  • >>>
  • coucou
  • coucou
  • >>>
  • 'Code pour uploader des fichiers :
  • import ftplib
  • import os
  • def upload(ftp, file):
  • ext = os.path.splitext(file)[1]
  • if ext in (".txt", ".htm", ".html"):
  • ftp.storlines("STOR " + file, open(file))
  • else:
  • ftp.storbinary("STOR " + file, open(file, "rb"), 1024)
  • ftp = ftplib.FTP("ftp.fbi.gov")
  • ftp.login("mulder", "trustno1")
  • upload(ftp, "trixie.zip")
  • upload(ftp, "file.txt")
  • upload(ftp, "sightings.jpg")
  • 'Code rassemblant un peu tout ça :
  • from ftplib import FTP
  • def handleDownload(block):
  • file.write(block)
  • print ".",
  • ftp = FTP('server')
  • print 'Connection to your FTP server'
  • print 'Logging in.'
  • print ftp.login('login', 'psw')
  • 'dossier dans lequel tu veux aller chercher un fichier
  • directory = 'mondossier/monsousdossier/'
  • print 'Changing to ' + directory
  • ftp.cwd(directory)
  • 'affichage de la liste des fichiers
  • ftp.retrlines('LIST')
  • 'fichier à télécharger dans le dossier sélectionné plus haut
  • filename = 'bonjour.doc'
  • print 'Opening local file ' + filename
  • file = open(filename, 'wb')
  • print 'Getting ' + filename
  • 'téléchargement du fichier
  • ftp.retrbinary('RETR ' + filename, handleDownload)
  • print 'Closing file ' + filename
  • file.close()
  • print ftp.close()
  • 'le fichier téléchargé se trouve dans le dossier contenant ton code.py
  • 'Tous ces codes ont été testés et fonctionnent parfaitement bien.
'Retourne la liste des fichiers et / ou dossiers :

'Code :
    import ftplib
    ftp = ftplib.FTP("location du serveur")
    ftp.login("login", "mdp")
    print ftp.dir()
    ftp.quit()

'Résultat :
    drwxr-xr-x 1 ftp ftp              0 Jul 12 22:32 Recycled
    drwxr-xr-x 1 ftp ftp              0 Jul 08 13:12 myor
    drwxr-xr-x 1 ftp ftp              0 Jul 02 21:52 System Volume Information
    drwxr-xr-x 1 ftp ftp              0 Jul 05 18:29 francois


'Retourne le contenu binaire du fichier 'filename' :

'Code :
    import ftplib
    import sys
    def gettext(ftp, filename, outfile=None):
        if outfile is None:
            outfile = sys.stdout
        ftp.retrlines("RETR " + filename, lambda s, w=outfile.write: w(s+"\n"))
    def getbinary(ftp, filename, outfile=None):
        if outfile is None:
            outfile = sys.stdout
        ftp.retrbinary("RETR " + filename, outfile.write)
    ftp = ftplib.FTP("serveur")
    ftp.login("login", "psw")
    gettext(ftp, "README.txt")
    getbinary(ftp, "README.txt") 'retourne le contenu binaire du fichier ;)

'Résultat avec un fichier README.txt contenant 'coucou' :
    >>> ==========================      RESTART     ===========================
    >>>
    coucou
    coucou
    >>>


'Code pour uploader des fichiers :
    import ftplib
    import os
    def upload(ftp, file):
        ext = os.path.splitext(file)[1]
        if ext in (".txt", ".htm", ".html"):
            ftp.storlines("STOR " + file, open(file))
        else:
            ftp.storbinary("STOR " + file, open(file, "rb"), 1024)
    ftp = ftplib.FTP("ftp.fbi.gov")
    ftp.login("mulder", "trustno1")
    upload(ftp, "trixie.zip")
    upload(ftp, "file.txt")
    upload(ftp, "sightings.jpg")

'Code rassemblant un peu tout ça :
    from ftplib import FTP
    def handleDownload(block):
        file.write(block)
        print ".",
    ftp = FTP('server')
    print 'Connection to your FTP server'
    print 'Logging in.'
    print ftp.login('login', 'psw')
    'dossier dans lequel tu veux aller chercher un fichier
    directory = 'mondossier/monsousdossier/'
    print 'Changing to ' + directory
    ftp.cwd(directory)
    'affichage de la liste des fichiers
    ftp.retrlines('LIST')
    'fichier à télécharger dans le dossier sélectionné plus haut
    filename = 'bonjour.doc'
    print 'Opening local file ' + filename
    file = open(filename, 'wb')
    print 'Getting ' + filename
    'téléchargement du fichier
    ftp.retrbinary('RETR ' + filename, handleDownload)
    print 'Closing file ' + filename
    file.close()
    print ftp.close()
    'le fichier téléchargé se trouve dans le dossier contenant ton code.py

'Tous ces codes ont été testés et fonctionnent parfaitement bien.

Conclusion

N'hésitez pas à me laisser vos commentaires et questions
    Aucun commentaire pour le moment.

Ajouter un commentaire

Pub



Appels d'offres

Creation portail video
Budget : 3 000€
Site de e-commerce
Budget : 5 000€
Demande de devis pour ...
Budget : 7 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS