#1 Le 04/12/2008, à 17:59
- stephbul
Template pour démarrer un programme en python
Bonjour,
Pour les développeurs python que ça intéresse, j'ai développé un module python permettant de démarrer l'écriture d'un programme, d'un script assez facilement, sans avoir à se soucier de générer les options minimales(--config --quiet --help, --version...), et de la journalisation des opérations.
Pour l'utiliser, il suffit de l'installer par les sources ou le .deb et de faire hériter la classe de votre programme principal la classe du template python.
Vous trouverez toutes les informations nécessaires à son utilisation, des exemples à cette page: http://bulot.org/wiki/doku.php?id=proje … pytemplate
Bon, je vous colle un exemple ici:
#!/usr/bin/env python
from pytemplate import PyTemplate
__version__= "0.1.0"
class MyProgram(PyTemplate):
""" l'héritage ici de PyTemplate permet de récupérer les options prédéfinies dans
cette classe (--version, --quit, --config, --log). Bien entendu, vous pouvez ajouter des options (cf plus bas)
"""
def __init__(self):
"""
program initialization
"""
# Set the version used by predefined --version option
self.version=__version__
PyTemplate.__init__(self)
# A way to add an new option, help value will be displayed in usage function
# Don't forget to create the associated load_joy method
self.parser.add_option("-j","--joy",help="here is joy!")
def load_joy(self,args):
""" Implements the joy option """
return
def load_config(self,args):
""" Load your configuration file here """
return
def loadparams(self,args):
""" use params sent to program """
return
def main(self):
""" Here are a few example for message display and log """
self.lprint("message not displayed if -q option used and not logged.",False,False)
self.lprint("message displayed even if -q option and not logged.",True,False)
self.lprint("message not displayed if -q option and logged.",False,True)
self.lprint("message displayed even it -q option and logged.",True,True)
self.errprint("message error example, always logged")
if __name__ == '__main__':
prog = MyProgram()
prog.run()
Si vous l'utilisez, merci de me donner votre avis.
stephbul
Dernière modification par stephbul (Le 05/12/2008, à 09:49)
Hors ligne