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 !

Sujet : Application FTP, urgent [ Archives / Au secours !!! ] (mus_python)

vendredi 15 juillet 2005 à 20:52:15 | Application FTP, urgent

mus_python

Bonjour tout le monde, je viens de commencer la programmation avec python et je suis chargé de faire une application qui permet la connexion entre le client et un serveur FTP, et dans cette application il doit y avoir la possibilité de selection des fichiers bien définis pour les copier dans le poste client souhaité.
et pour faire cette application, il faut de temps, mais j'ai pas assez de temps car je passe un stage et il faut que je leurs donne cette application le plus tôt possible.
en faite pour faire cette application il faut  créer un socket, il faut établire une connexion entre les clients et le serveur FTP.
moi j'ai trouvé plusieurs commandes comme "ftplib, connet(host, prot), login, socket,....)

et là je ne sais pas quoi faire, en fait j'ai réussi à établire la connexion avec le serveur mais je n'arrive pas selectionner des fichiers à partir de ce serveur pour les copiers dans le poste client.
SVP, j'ai besoin de votre aidre, d'urgent, surtout au niveau de la selection des fichier et leur copage
merci d'avance


lundi 18 juillet 2005 à 22:20:24 | Re : Application FTP, urgent

lambdacrash

Membre Club
Salut,
Je pense que dans un premier temps, fait en sorte de simplement récupérer la liste des fichiers disponibles sur le serveur en émettant une requete via le socket au dit serveur.
Une fois cette liste reçue, le choix du fichier est à la charge de l'utilisateur (je pense).
En ce qui concerne le découpage des fichiers pour le transfert, je pense ne pas en savoir plus que toi.

Ne disposant pas de ton code, je ne peux que te donner des pistes. J'espère t'avoir très sombrement éclairé....

PS : j'ai déposé, dans la rubrique tutoriel, le lien vers le PDF de M. Swinnen qui est très bien fait, jette un coup d'oeil.


.: Lambdacrash :.
Mon site perso

lundi 18 juillet 2005 à 23:06:36 | Re : Application FTP, urgent

lambdacrash

Membre Club
Du nouveau pour toi, si tu n'es pas obligé d'utiliser les sockets, par la dessus :
Je te balance du code en vrac mais il y a les bases de ton projet je pense.

Retour de la liste des fichiers et / ou dossier :

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 orienté vers ton besoin :
    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.

Teste chaque code un par un pour t'imprégner de la méthode. Bon vent et n'hésite pas j'adore le python ;)
Bon code

.: Lambdacrash :.
Analyste programmeur
Mon site perso

lundi 18 juillet 2005 à 23:13:02 | Re : Application FTP, urgent

lambdacrash

Membre Club
Note aux modérateurs : ce sujet mérite d'être gardé car il y a peu de codes Python traitant ce sujet.
Merci



.: Lambdacrash :.
Analyste programmeur
Mon site perso

lundi 18 juillet 2005 à 23:45:24 | Re : Application FTP, urgent

lambdacrash

Membre Club
C'est encore moi, FTP lib utilise les sockets, si tu dois gérer les sockets d'une façon particulière, modifie les sources de la librairie.
Bon code.




.: Lambdacrash :.
Analyste programmeur
Mon site perso



Cette discussion est classé dans : application, urgent, ftp, serveur, connexion


Répondre à ce message

Sujets en rapport avec ce message

Socket+timeout [ par power211 ] Re Bonjour tout lemonde,bon voila j aurai une ptite question sur les sockets plus les timeout.Donc je vais directement aller au but avec un exemple co connexion python [ par tsic ] Bonjour, Voilà, j'ai débuté recemment avec python et je veux faire une connexion client serveur (windows) par l'intermédiaire d'une interface QT Desig connexion client/serveur sous linux [ par tsic ] Bonjour,SVP aidez moi à trouver le code du serveur de connexion.j'ai déjà testé celui de windows et ça a marché. Mais mon encadreur demande un serveur msn client/serveur python [ par tsic ] Bonjour, je suis bloqué ilya preque 2 semaines dans le code suivant. je veut que le client et le serveur envoyent leurs message d'une maniere comme ms django :application bilingue [ par hasna1980 ] BonjourDans mon application django je veux que l'utilsateur selecte sa langue preferée soit l'islandais soit l'anglais.j'ai suivi la documentation sur Variable globale dans une application wxpython [ par tasnim86 ] Bonsoir,j'utilise la bibliothèque wxpython comment pourais je déclarer une variable globale à toute une application wx.app? je veux avoir une variable Serveur Proxy [ par aera group ] Bonjour,Je souhaiterais développer un logiciel de control parental, et j'ai pensé pour cella créé un serveur proxy et je voudrais savoir si quelqu'un [QT4][python]probleme menu bouton [ par tsic ] salut,Mon interface client a un menu et un boutton (au debut non actif) .à la connexion j'ai ajouter la ligne suivante:"self.ui.bouton_env.setEnabled( serveur local redirigé vers page web [ par alix20 ] Bojour à tous,voilà, je suis complètement débutante en python (je découvre python grace à Swinnen) et j'ai une question qui semblera peut-être ridicul MemoryLoadLibrary [ par laurent 50 ] Bonjour à tous, Je travail avec la version 2.5.2 de python et avec la version 0.6.9 du module py2exe. La compilation de mon application se déroule san


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,437 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.