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 :

existe-il une fonction require_once pour python ?


Sujet :

Python

  1. #1
    Membre éprouvé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 464
    Par défaut existe-il une fonction require_once pour python ?
    bonjour,

    y-a-t-il un equivalent en python pour la fonction REQUIRE_ONCE de PHP ?

    En gros j'ai un énorme script, que je souhaite parceler en plusieur fichiers distincts améliorer la visibilité.

    une idée de comment procéder au mieux ?

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Par défaut
    Ben.... quand on ne connaît pas PHP, ce qui est mon cas car je ne connais que Python, on ne sait pas ce que fait REQUIRE_ONCE. Tu ne trouves pas que c’est embêtant ?

    À cette première question précise sur une fonction, tu ajoutes une question en quelques mots sur un problème beaucoup plus vaste.

    Ça fait une vaste problématique à laquelle répondre tout en ayant très peu de renseignements.




    Ceci dit , il me semble qu’à la 2ième question, on peut avancer:

    - avec une répartition de différentes activités dans des fonctions différentes qui seront mises dans des fichiers séparés , ces fonctions étant importées à loisir quand il le faudra dans un code plus général qui pilote l’ensemble des activités, il me semble que ça doit répondre au moins un peu à ton questionnement

    - aborder l’écriture d’un programme en Python avec l’idée de transposer un programme déjà existant en PHP me semble , a priori, une détestable chose. Je te conseille de t’imprégner de l’esprit Python puis de penser Python pour écrire un code. Sinon, à mon avis, ce sera de la tambouille.

  3. #3
    Membre émérite
    Homme Profil pro
    heu...
    Inscrit en
    Octobre 2007
    Messages
    648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : heu...

    Informations forums :
    Inscription : Octobre 2007
    Messages : 648
    Par défaut
    Citation Envoyé par Michael REMY Voir le message
    En gros j'ai un énorme script, que je souhaite parceler en plusieur fichiers distincts améliorer la visibilité.

    une idée de comment procéder au mieux ?
    En effet c'est une question vague, donc les réponses ne peuvent être qu'aussi vagues...

    Toutefois, d'une manière générale, l'esprit est de regrouper les fonctions et classes selon leur catégories (leur domaine d'action, ou l'aspect qu'elles traitent), donc le but est d'identifier les aspects généraux et les besoins que chacun requiert, trouver d'éventuels besoins commun, puis de créer un module pour un besoin (sauf si ça se résume à une ou deux fonctions...).

    Ca n'est là que ma manière de voir les choses, il est probables que d'autres aient une approche différente (que je ne pense toutefois pas si éloignée).

  4. #4
    Membre éprouvé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 464
    Par défaut ok
    Etrange, dans vos réponses j'ai l'impression de me faire rouspéter...

    En gros, j'ai des centaines de lignes successives.
    Je ne peux pas les fonctionnaliser, ce sont des traitements successifs à plusieurs variables communes.
    En PHP, je peux prendre un groupe de lignes successifs, et les redistribuer dans un fichier à part et juste appeler/commenter ce fichier pour améliorer la visibilité du code et sa structure.
    C'est le même principe qu'un include (voire import) mais avec une extrème liberté dans ce qui est déporté dans le fichier.

  5. #5
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Tu n'auras pas cela en Python même si j'avoue que cette fonctionnalité de pHp me plaisait bien avant. Il va falloir utiliser des import.

    En fait, plustôt que de reprendre un bout de code par ici, un autre par là, le mieux est de savoir pourquoi tu as besoin de ces lignes à divers endroits. Tu fabriques alors une classe ou un module qui fournit la fonctionnalité.
    C'est une meilleure façon de faire que d'utiliser le require_once, et côté maintenance c'est très facile. Ce n'est que mon avis...

    PS : oui tu t'es fait rouspété mais ils ont été gentils car ils t'ont dit pourquoi.

  6. #6
    Membre éprouvé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 464
    Par défaut ok
    bien-entendu j'avais pensé à une classe, une fonction, une méthode pour structurer tout cela mais ce n'est pas possible.

    c'est juste un ensemble de ligne que je souhaite voire switcher/deswitcher visuellement pour faciliter le scrolling dans l'éditeur de code.
    J'utilise Qanta (sous linux) et il ne permet pas le code folding à la volée, ça m'aurait bien aidé!

  7. #7
    Membre émérite
    Homme Profil pro
    heu...
    Inscrit en
    Octobre 2007
    Messages
    648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : heu...

    Informations forums :
    Inscription : Octobre 2007
    Messages : 648
    Par défaut
    En ce qui me concerne, je ne rouspétais pas

    Mais si c'est possible, enfin ... je ne me suis jamais vraiment servi de cette fonction, donc il n'est pas garanti que cela marche comme tu le souhaiterais, mais tu peux utiliser la fonction builtin execfile, elle ouvre un fichier et l'exécute comme un bloc de code normal...

    Et pour le code folding, ben y'a eclipse avec pyDev, Geany, sous linux, je l'aime bien celui-là, simple, rapide, code folding, auto-complétion par rapport aux document ouverts & enregistrés, explorateur de code, permet de lancer l'exécution, et de de créer des templates, personnaliser la barre d'outils, le tout sans être une usine à gaz, sympathique.

  8. #8
    Membre émérite
    Avatar de Antoine_935
    Profil pro
    Développeur web/mobile
    Inscrit en
    Juillet 2006
    Messages
    883
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur web/mobile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 883
    Par défaut
    Citation Envoyé par Michael REMY Voir le message
    En gros, j'ai des centaines de lignes successives.
    Scénario type à éviter. Comme tu l'as remarqué toi même, un grand nombre de lignes d'affilées réduit horriblement la lisibilité.

    Il faut séparer ton code en classes et éventuellement fonctions, sans quoi tu cours à la perte pour la maintenance.

    Avoir 200 à 300 lignes de code pour une fonction est acceptable pour des langages de bas niveau. Dans le cas de php ou python, qui sont tous deux de très haut niveau, ce n'est absolument pas justifiable.

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/10/2008, 21h05
  2. Réponses: 12
    Dernier message: 25/07/2006, 18h36
  3. [MySQL] Une fonction perso pour aléger le code...
    Par tsing dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 15/11/2005, 23h56
  4. Réponses: 4
    Dernier message: 28/10/2005, 16h30
  5. Réponses: 5
    Dernier message: 13/10/2005, 12h46

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