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

Réseau/Web Python Discussion :

lister des dossiers réseau


Sujet :

Réseau/Web Python

  1. #1
    Membre éclairé
    Avatar de airod
    Homme Profil pro
    Gérant Associé, DMP Santé et Directeur technique
    Inscrit en
    Août 2004
    Messages
    767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Gérant Associé, DMP Santé et Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 767
    Points : 891
    Points
    891
    Par défaut lister des dossiers réseau
    Bonjour, j'ai un petit soucis qui concerne le listage de répertoire.
    Je sais utiliser le module os pour lister des répertoires locaux, mais je n'arrive pas a faire de même pour des répertoires distants partagés.
    Je souhaite les atteindre directement via l'adresse ip de leur hote.

    auriez vous une piste a me donner, svp?

  2. #2
    Membre confirmé
    Avatar de vincent.mbg
    Homme Profil pro
    Développeur Python
    Inscrit en
    Décembre 2007
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Python

    Informations forums :
    Inscription : Décembre 2007
    Messages : 327
    Points : 618
    Points
    618
    Par défaut
    Bonjour

    Avec ftplib

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    from ftplib import FTP
    ftp = FTP('ftp.cwi.nl')   # connect to host, default port
    ftp.login()               # user anonymous, passwd anonymous@
    liste = ftp.retrlines('LIST')     # list directory contents
    for line in liste.splitelines :
        print line.rsplit( ' ', 1)
    ftp.quit()
    Mon guide pour apprendre Tkinter - N'oubliez pas de consulter les FAQ Python ou de visiter mon blog

  3. #3
    Membre éclairé
    Avatar de airod
    Homme Profil pro
    Gérant Associé, DMP Santé et Directeur technique
    Inscrit en
    Août 2004
    Messages
    767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Gérant Associé, DMP Santé et Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 767
    Points : 891
    Points
    891
    Par défaut
    merci pour la piste mais je me pose la question suivante.
    Imaginons que le dossier soit un dossier partagé sous windows, donc accessible en voisinage réseau, ce n'est pas du ftp ?? (j'en sais rien a vrai dire!)

    Bon de toute facon je vais faire mes tests.
    Merci pour la piste.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 240
    Points : 36 694
    Points
    36 694
    Par défaut
    Citation Envoyé par airod Voir le message
    merci pour la piste mais je me pose la question suivante.
    Imaginons que le dossier soit un dossier partagé sous windows, donc accessible en voisinage réseau, ce n'est pas du ftp ?? (j'en sais rien a vrai dire!)

    Bon de toute facon je vais faire mes tests.
    Merci pour la piste.
    Un dossier "partagé" sous Windows a deux états:
    - Il est mappé sur un 'disque' de la machine locale. Dans ce cas, il se traite comme s'il s'agissait de répertoires locaux,
    - Il faut le mapper sur un 'disque' de la machine 'locale' avant de se retrouver dans le cas précédent. Dans ce cas, il faut travailler avec les API Windows pour réaliser l'opération. (la question pourrait être comment mapper un répertoire partagé Windows avec les API Win32 de Python).
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre éclairé
    Avatar de airod
    Homme Profil pro
    Gérant Associé, DMP Santé et Directeur technique
    Inscrit en
    Août 2004
    Messages
    767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Gérant Associé, DMP Santé et Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 767
    Points : 891
    Points
    891
    Par défaut
    En fait pour mon projet le but est de créer un explorateur de fichier web, avec zope2. Le projet a pour but d'offrir a l'utilisateur la possibilité de faire des commandes a partir de machines partagées. Cependant j'aimerais éviter des manip a chaque fois sur la machine serveur pour monter des lecteurs réseau (car je n'est pas plus de 26 lettres de lecteur possible... on voit de suite la limite)
    Mon application peut facilement se retrouver avec plusieurs 10aine d'ordinateur partageant des informations.

    Donc, je cherche bien a lister le contenu d'un dossier sur une machine distante (compatible avec linux et windows).
    Pensez vous que dans ce cas il faille mettre un miniserveur ftp sur chaque machine?

    merci

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 240
    Points : 36 694
    Points
    36 694
    Par défaut
    Citation Envoyé par airod Voir le message
    Donc, je cherche bien a lister le contenu d'un dossier sur une machine distante (compatible avec linux et windows).
    Pensez vous que dans ce cas il faille mettre un miniserveur ftp sur chaque machine?
    merci
    Pour cela je regarderais plutôt du côté de WebDAV et....

    Plutôt que d'avoir un serveur FTP par machine, je regarderais plutôt côté serveurs HTTP WebDAV qui mappent les ressources partagées des différents serveurs et les présentent aux clients.

    Certes çà fait une indirection et probablement des délais mais çà permet d'avoir une couche de service homogène pour les 'clients' et de réduire les problèmes d'accès aux ressources. (moins de variabilité des configurations à gérer).
    - W
    Notes: WEBDav est le protocole utilisé par Windows pour mapper les ressources partagées.
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Membre éclairé
    Avatar de airod
    Homme Profil pro
    Gérant Associé, DMP Santé et Directeur technique
    Inscrit en
    Août 2004
    Messages
    767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Gérant Associé, DMP Santé et Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 767
    Points : 891
    Points
    891
    Par défaut
    merci, voilà une information quelle est belle.
    Je savais pas que c'est WEBDAV qui est utilisé par windows pour le mappage.

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 240
    Points : 36 694
    Points
    36 694
    Par défaut
    C'est ce que dit Wiki:
    "Sous Windows XP, les dossiers WebDAV se trouvent dans les "Favoris réseau"."
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  9. #9
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 941
    Points : 1 384
    Points
    1 384
    Par défaut
    Mélangez pas tout... En Windows c'est le protocole SMB qui est utilisé pour le partage de fichiers. Et il n'est pas nécessaire de mapper un partage réseau pour y accéder, on peut utiliser une UNC directement (\\server\partage\dossier\fichier)

    Je viens de tester et il semblerait que le module os accepte sans broncher des UNC, sous Windows en tout cas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >>> import os
    >>> os.listdir(r'\\server\share\directory')
    ['dir1','file1.txt']
    EDIT: modification du lien pour SMB. La page française de wikipedia pour SMB est très mauvaise...

  10. #10
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 240
    Points : 36 694
    Points
    36 694
    Par défaut
    oui c'est le protocole SMB qui est utilisé par "défaut" mais si vous passez par là autant installer Samba partout.
    Maintenant WebDAV est autre chose qui dans le monde Windows se traduit par:
    Microsoft Windows

    Microsoft introduced WebDAV client support in Microsoft Windows 98 with a feature called "Web folders". This client consisted of an OLE object which could be accessed by any OLE software, and was installed as an extension to Windows Explorer (the desktop/file manager) and was later included in Windows 2000. In Windows XP, Microsoft added the "WebDAV mini-redirector" which is preferred by default over the old Web folders client.

    This newer client works as a system service at the network-redirector level (immediately above the file-system), allowing WebDAV shares to be assigned to a drive letter and used by any software. The redirector also allows WebDAV shares to be addressed via UNC paths (e.g. http://host/path/ is converted to \\host\path\) for compatibility with Windows filesystem APIs. However, some versions of the redirector are known to have some limitations in authentication support.[10] This includes the fact that recent versions disable basic authentication for HTTP connections for security purposes. Some suggested workarounds for problems in some versions include: [citation needed]

    * explicitly specify a port number in the URL e.g. http://host:80/path/
    * use a fully qualified domain name: NET USE Z: http://drive.example.org/drive
    * specify the user in the URL http://user@host.tld/path/. This reportedly forces the use of the old "Web folders" client.[11]

    In addition, WebDAV over HTTPS works only if a computer has KB892211-version files or newer installed. Otherwise Windows displays "The folder you entered does not appear to be valid. Please choose another" when adding a network resource. NOTE: 892211 has been superseded by KB907306.

    Windows Vista includes only the WebDAV redirector, but if you install a version of Office, Internet Explorer, OLE-DB or "Microsoft Update for Web Folders" you will get the original "Web folders" client. The update will only work on the 32bit version of XP/Vista.[12]
    [edit]
    Ce qui est intéressant c'est que c'est dispo sur toutes les plates-formes.
    Source: http://en.wikipedia.org/wiki/WebDAV

    Voir aussi les billets d'un developpeur français qui teste WSGIDav pour vous.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  11. #11
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 941
    Points : 1 384
    Points
    1 384
    Par défaut
    Je ne connais pas vraiment WebDAV, merci wiztricks pour ces précisions.

    Cela me semble plutôt une option pour un accès distant. WebDAV+SSL comme alternative à du SMB sur un VPN, par exemple... SMB n'est pas très efficace sur des liaisons à latence élevée, mais en LAN, je ne vois pas trop ce que WebDAV apporte, sinon une couche de complexité supplémentaire.

    Mais bon ce débat concerne plutôt les administrateurs systèmes et réseaux, quand qq'un parle de "répertoire partagé" dans le monde Windows, 95% du temps il fait référence à SMB. La question était ici comment y accéder et pas comment configurer ses serveurs pour fournir un accès uniforme dans un environnement hétérogène...

  12. #12
    Membre éclairé
    Avatar de airod
    Homme Profil pro
    Gérant Associé, DMP Santé et Directeur technique
    Inscrit en
    Août 2004
    Messages
    767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Gérant Associé, DMP Santé et Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 767
    Points : 891
    Points
    891
    Par défaut
    Hummm, j'aime bien ces fils de discussion qui dévient...
    Merci en tout cas, je crois avoir tout ce qui me faut, j'ai plus qu'a tester...
    cependant j'ai déjà tester os, et j'ai rien pu en tirer.

    je vais continuer a tester...

    merci

  13. #13
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 240
    Points : 36 694
    Points
    36 694
    Par défaut
    Salut Dividee,
    Si tu relis le thread, tu verras que l'auteur voulait attaquer les répertoires via FTP car il dit:
    Donc, je cherche bien a lister le contenu d'un dossier sur une machine distante (compatible avec linux et windows). Pensez vous que dans ce cas il faille mettre un miniserveur ftp sur chaque machine?
    => Si on veut faire autre chose que FTP ou Samba sur un environnement distribué et qu'en plus:
    En fait pour mon projet le but est de créer un explorateur de fichier web, avec zope2. Le projet a pour but d'offrir a l'utilisateur la possibilité de faire des commandes a partir de machines partagées.
    => Grosso modo l'IHM n'est un navigateur... Il sait faire des requêtes HTTP mais pour le reste il délègue au serveur.

    WebDAV reste la solution la plus 'ouverte' pour permettre aux clients d'attaquer directement les serveurs, passer via le serveur Web Zope ou autre... et aussi dispo sur tous les OS.

    Mais pourquoi pas SMB ou FTP...
    C'est robuste, éprouvé depuis les années 80s.
    WebDAV date de 98... C'est un jeunot
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  14. #14
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 941
    Points : 1 384
    Points
    1 384
    Par défaut
    Hum ok, j'avais raté le post en question, désolé. (toutefois je ne vois nulle part que airod voulait attaquer les répertoires via FTP, c'est juste que c'est la première chose qu'on lui a proposé).

    Effectivement, WebDAV convient peut-être pour ce cas d'utilisation. C'est juste que toucher à la configuration des serveurs à ce niveau n'est pas à prendre à la légère. Ca dépasse un peu les limites de la responsabilité du développeur. Enfin ça dépend des boîtes je suppose...

    Etonnant que personne n'ait encore cité NFS

Discussions similaires

  1. Lister des dossiers java
    Par AI_LINUX dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 22/06/2011, 18h18
  2. lister des dossiers personnels
    Par xcbilx dans le forum VBA Outlook
    Réponses: 2
    Dernier message: 04/10/2008, 17h18
  3. lister des dossiers
    Par mdr_cedrick dans le forum Langage
    Réponses: 2
    Dernier message: 27/06/2008, 16h29
  4. Lister des dossiers Linux et Windows
    Par Belegkarnil dans le forum C
    Réponses: 5
    Dernier message: 27/07/2006, 10h23
  5. lister des dossiers dans un ComboBox
    Par taulmaril dans le forum Windows
    Réponses: 7
    Dernier message: 01/05/2004, 15h31

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