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 :

optimiser mon code


Sujet :

Python

  1. #1
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Mai 2011
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mai 2011
    Messages : 177
    Par défaut optimiser mon code
    salut tout le monde .
    je possède cette methode là en python qui nous retourne une page html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    def printOutput(self):
        return """Content-type: text/html
     
    <html>
    <head>
    <title>test</title>
    <script type="text/javascript">
    function Launch()
    {
    ...
    resultat=...
    }
    </html>
     
    """
    j'aimerais écrire d'autres methodes python qui ont comme resultat de retour un fichier html (comme dans l'exemple là haut).et bien le truc est que dans chacune de mes methodes j'ai bien plusieurs instructions qui se repetent.du cout je pense qu'il nous serai judicieux de trouver comment faire un template ou queques chose de ce truc pour nous permettre d'aoptimiser notre code et ne pas devoir à chaque fois entrer les memes instructions dans chaque methode python (du style <html><head>...).ya t il une suggestion pour minimiser le code?

  2. #2
    Membre très actif
    Avatar de afranck64
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 592
    Par défaut
    Si c'est vraiment basique, alors tu peux le faire avec la methode "string.format" comme ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    DEFAULT_TITLE = "Bienvenue sur ma page..."
    DEFAULT_FOOTER = "Contact, Coypright(c) 20xx"
    DEFAULT_BODY = ""
     
    BASE_TEMPLATE = '''
    <html>
    <title>{title}</title>
        <body>
        {body}
        </body>
    {footer}
    </html>
    '''
     
    def render(**options):
        params = dict(title=DEFAULT_TITLE,
                    body=DEFAULT_BODY,
                    footer=DEFAULT_FOOTER)
        params.update(options)
        return BASE_TEMPLATE.format(**params)
     
    if __name__ == "__main__":
        print (render())
        print (render(title="Welcome in this room", footer="we are busy"))
    ceci dit, il y a des bibliotheques specialisees pour.
    Win 10 64 bits / Linux Mint 18, - AMD A6 Quad: Py27 / Py35
    CONTENU D'UNE QUESTION
    Exemples:
    - Configuration (système d'exploitation, version de Python et des bibliothèques utilisées)
    - Code source du morceau de programme où il y a un bogue
    - Ligne de code sur laquelle le bogue apparaît
    - Erreur complète retournée pas l'interpréteur Python
    - Recherche déjà effectuée (FAQ, Tutoriels, ...)
    - Tests déjà effectués

  3. #3
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Mai 2011
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mai 2011
    Messages : 177
    Par défaut
    merci mais j'ai quelques questions à ce niveau.
    par exemple,j'ai un module qui comporte des centaines de methodes qui renvoient des pages html.dans chaque methode, on a plusieurs instructions qui se répètent au niveau du body mais pas tous.voici la portion qui se répète à chaque fois:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    def test1(self):
            return """Content-type: text/html
     
    <html>
    <head>
    <title>tests</title>
    </head>
    <body onload="Launch()" id="body">
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <center>
    <table  COLS="1" WIDTH="500" align="center" >
    <tr>
                <td align="center">
                <b><font color="#ff3333" size="6">test1 ...(nom de la methode...)<br/></font></b>
                </td>
    </tr>
     
    </table>
    </center>
    <script type="text/javascript">
    const SESSION_NAME       = "SESSION";
    const FRONTEND_SESSION   = "FE_SESSION";
     
     
    function Launch()
    {
    }
    la principale varition et la différence entre les methodes réside dans la fonction launch() qui sera executé par le body .est ce que je dois mettre les differentes implémentation de mes fonctions launch() dans un fichier .ini ou dans un fichier excel et puis seulement les charger à chaque fois ? parce que je ne vous cache pas , j'ai essayé de me documenter la dessus et j'ai trouvé que c'est un peu difficile le truc de template :p

Discussions similaires

  1. PreparedStatment : conseils pour optimiser mon code
    Par Monkey_D.Luffy dans le forum JDBC
    Réponses: 8
    Dernier message: 30/05/2008, 13h49
  2. optimiser mon code avec une boucle for?
    Par Invité dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 16/11/2007, 08h33
  3. Réponses: 5
    Dernier message: 23/05/2007, 10h25
  4. OPTIMISER mon code
    Par valoji dans le forum Bases de données
    Réponses: 3
    Dernier message: 14/03/2006, 18h45
  5. Optimiser mon code ASP/HTML
    Par ahage4x4 dans le forum ASP
    Réponses: 7
    Dernier message: 30/05/2005, 10h29

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