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

Python Discussion :

Qu'est-ce qu'un fichier __init__.py


Sujet :

Python

  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 160
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 160
    Par défaut Qu'est-ce qu'un fichier __init__.py
    Bonjour,

    j'utilise le fichier sds011.py qui est une class.
    Dans mon fichier principal je l'importe ainsi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    from sds011 import SDS011
    import aqi
    J'ai rencontré un problème et en surfant sur le net, j'ai trouvé une solution. En regardant cette solution, j'ai constaté ceci
    https://github.com/ikalchev/py-sds01.../master/sds011

    en soit le fichier __init__.py est le même que ma class sds011.py, sauf qui se trouve dans le dossier sds011.

    Je me demandais alors si le fichier __init__.py fesait la même chose que comme je le fais. Ou so je faisais faux??

    Qu'est-ce qu'en fait un fichier __init__.py se trouvant dans dossier?

    Merci pour éclaircir mes lumières

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 697
    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 697
    Par défaut
    Salut,

    L'intérêt des fichiers __init__.py est décrit dans le chapitre sur les packages du Python tutorial.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 815
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par pierrot10 Voir le message
    Qu'est-ce qu'en fait un fichier __init__.py se trouvant dans dossier?

    Merci pour éclaircir mes lumières
    Si on doit répondre de façon littérale à ta question, un fichier "__init__.py" est un script Python.

    Si maintenant ta question est "à quoi sert-il", alors c'est tout simple: ça rend ton dossier importable dans un autre script Python.
    Si par exemple ton dossier se nomme "toto", et si tu veux pouvoir écrire depuis un script Python import toto, alors tu dois créer dans "toto" un fichier "__init__.py". Il peut être vide mais il doit exister.

    Si ensuite il contient des instructions Python, alors ces instructions seront exécutées chaque fois que tu feras import toto.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 160
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 160
    Par défaut
    Hello
    Merci beaucoup.
    J'ai donc tout intéret à ne plus faire

    mon_fichier.py (from sds011 import SDS011)
    -- sds011.py
    mais à la place
    mon_fichier.py (from sds011 import SDS011)
    -- sds011/__init__.py
    Dans les deux cas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    from sds011 import SDS011
    reste inchangé

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 697
    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 697
    Par défaut
    Salut,

    Citation Envoyé par pierrot10 Voir le message
    J'ai donc tout intéret à ne plus faire
    ....
    Tant que vous pouvez garder un script sds011.py pas la peine de créer un répertoire sds011 et d'y recopier sds011.py en __init__.py: çà marche pareil mais çà n'apporte rien.
    SI demain vous devez ajouter des fonctionnalités et que çà peut faire du sens de... vous pourrez le faire sans avoir à modifier les scripts qui utilisent...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 160
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 160
    Par défaut
    Super merci beaucoup
    L'idée est d'améliorer ma maniere de coder.
    J'ai finalement essayer de faire avec le dossier sds011 et le fichier __init__.py et ca marche bien, même si au final ça fait la même chose
    Merciii

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 03/03/2006, 15h17
  2. C'est quel langage un fichier nom_fichier .do ?
    Par toan dans le forum Autres langages
    Réponses: 3
    Dernier message: 26/01/2006, 09h59
  3. Qu'est ce qu'un fichier PS Files ?
    Par angsthase dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 15/10/2005, 19h08
  4. Qu'est ce qu'un fichier .sh ?
    Par matazz dans le forum Linux
    Réponses: 4
    Dernier message: 18/02/2005, 13h09
  5. Est-ce que les fichiers .obj sont tous les mêmes?
    Par Bubonik software dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 30/12/2003, 21h04

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