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

Bibliothèques tierces Python Discussion :

Syntaxe d'import avec PIL


Sujet :

Bibliothèques tierces Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de Captain'Flam
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2011
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 273
    Billets dans le blog
    1
    Par défaut Syntaxe d'import avec PIL
    Bonjour,

    une petite question toute bête :

    pourquoi ça, ça marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    from PIL import Image
    i = Image.open('toto.jpg')
    alors que ça non :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    import PIL
    i = PIL.Image.open('toto.jpg')
    Il me dit "AttributeError: 'module' object has no attribute 'Image'".
    Ça devrait être la même chose ! Qu'est-ce qui m'échappe ?

    Merci

  2. #2
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Bonjour,

    Sans doute car il n'y a rien dans l'__init__ de PIL.

    @+

  3. #3
    Membre éclairé
    Avatar de Captain'Flam
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2011
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 273
    Billets dans le blog
    1
    Par défaut
    Néanmoins je ne comprends pas pourquoi ça fait une différence...
    Le chargement des modules se fait de façon différente suivant qu'on choisisse l'une ou l'autre syntaxe ?

  4. #4
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Soit le package Foo (un répertoire donc) avec un fichier __init__.py vide et un fichier untruc.py tels que :
    untruc.py
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    def machin(variable):
        return variable*3
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >>> import Foo
    >>> Foo.untruc.machin(3)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    AttributeError: 'module' object has no attribute 'untruc'
    Maintenant avec le fichier __init__.py suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> import Foo
    >>> Foo.untruc.machin(3)
    9
    >>> quit()
    Et dans les deux cas from Foo import untruc fonctionne (comprendre dans le répertoire Foo importe untruc).

    @+

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 787
    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 787
    Par défaut
    Hu?!? J'ai la plupart du temps des __init__.py "vides" et jamais le comportement que tu rapportes. Comment a été placé le répertoire ou son père dans le path?
    - W
    PS: PIL semble utiliser une fonctionnalité .pth que j'ai trop peu pratiqué pour en connaître les effets de bords.
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Bonjour wiztricks,

    Citation Envoyé par wiztricks Voir le message
    Hu?!? J'ai la plupart du temps des __init__.py "vides" et jamais le comportement que tu rapportes.
    Tu m'inquiète : J'ai le même comportement sur mon poste @home (Debian) et sur le portable du taf (Seven)... Et comme cela fait un bon moment donc je m'étais fais une raison...
    Cela ne te dérangerais pas de développer ? Merci d'avance.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. syntaxe import avec impdp
    Par knulp dans le forum Administration
    Réponses: 1
    Dernier message: 16/02/2010, 15h44
  2. quel format doit avoir une BD pour l'importer avec copy?
    Par daknoom dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 03/02/2005, 19h41
  3. [syntaxe]Creation table avec nom dynamique
    Par ZuZu dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 23/09/2004, 18h01
  4. Problème d'import avec l'interface sql server
    Par moutanakid dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 20/08/2004, 16h00
  5. PB d'import avec les ActiveX sous BCB6
    Par dergen dans le forum C++Builder
    Réponses: 4
    Dernier message: 29/11/2002, 10h18

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