Posts Tagged ‘set’

Python: Installer une fonction de profilage avec le module sys

 set, module
{filelink=16864}

import sys
 
def exemple(n):
    j = 0
    for i in range(n):
        j = j + i
    return n
 
def profiler(frame, event, arg):
    print event, frame.f_code.co_name, frame.f_lineno, "->", arg
 
# Activation de profiler dans l'appel suivant de la fonction
sys.setprofile(profiler)
 
# Profiler l'appel de cette fonction
exemple(1)
 
# Désactiver le profilage
sys.setprofile(None)
 
# Appel de la méthode sans profilage
exemple(2)
 
"""
call exemple 0 -> None
return exemple 8 -> 1
"""

Livres Sur ce Sujet

[amazon_image id=”2212134347″ link=”true” target=”_blank” size=”medium” ]Apprendre à programmer avec Python 3[/amazon_image] [amazon_image id=”B005J2L260″ link=”true” target=”_blank” size=”medium” ]Apprenez à programmer en Python[/amazon_image] [amazon_image id=”2100508830″ link=”true” target=”_blank” size=”medium” ]Python : Petit guide à l’usage du développeur agile[/amazon_image] [amazon_image id=”2212127081″ link=”true” target=”_blank” size=”medium” ]Apprendre à programmer avec Python 3 : Avec plus de 50 pages de corigés d’exercices ![/amazon_image]

Python: Limiter l’utilisation d’une ressource(UNIX)

 set, unix
{filelink=16971}

 
import resource
 
# Limiter l'utilisation de CPU
resource.setrlimit(resource.RLIMIT_CPU, (0, 1))
 
# Lancer une boucle de longue durée
for i in range(1000):
    for j in range(1000):
        for k in range(1000):
            pass

Livres Sur ce Sujet

[amazon_image id=”2212134347″ link=”true” target=”_blank” size=”medium” ]Apprendre à programmer avec Python 3[/amazon_image] [amazon_image id=”B005J2L260″ link=”true” target=”_blank” size=”medium” ]Apprenez à programmer en Python[/amazon_image] [amazon_image id=”2100508830″ link=”true” target=”_blank” size=”medium” ]Python : Petit guide à l’usage du développeur agile[/amazon_image] [amazon_image id=”2212127081″ link=”true” target=”_blank” size=”medium” ]Apprendre à programmer avec Python 3 : Avec plus de 50 pages de corigés d’exercices ![/amazon_image]

Python: Trouver tous les membres d’une fonction

classe, set, slice, module
{filelink=16889}

 
class A:
    def a(self):
        pass
    def b(self):
        pass
 
class B(A):
    def c(self):
        pass
    def d(self):
        pass
 
def getmembres(klass, membres=None):
    # Retourner les membres de toute les classes
    if membres is None:
        membres = []
    for k in klass.__bases__:
        getmembres(k, membres)
    for m in dir(klass):
        if m not in membres:
            membres.append(m)
    return membres
 
print getmembres(A)
print getmembres(B)
print getmembres(IOError)
 
"""
['__doc__', '__module__', 'a', 'b']
['__doc__', '__module__', 'a', 'b', 'c', 'd']
['__class__', '__delattr__', '__doc__', '__getattribute__', '__hash__', '__init__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__str__', '__dict__', '__getitem__', '__getslice__', '__setstate__', 'args', 'message', '__module__', '__slots__', 'errno', 'filename', 'strerror']
 
"""

Livres Sur ce Sujet

[amazon_image id=”2212134347″ link=”true” target=”_blank” size=”medium” ]Apprendre à programmer avec Python 3[/amazon_image] [amazon_image id=”B005J2L260″ link=”true” target=”_blank” size=”medium” ]Apprenez à programmer en Python[/amazon_image] [amazon_image id=”2100508830″ link=”true” target=”_blank” size=”medium” ]Python : Petit guide à l’usage du développeur agile[/amazon_image] [amazon_image id=”2212127081″ link=”true” target=”_blank” size=”medium” ]Apprendre à programmer avec Python 3 : Avec plus de 50 pages de corigés d’exercices ![/amazon_image]

Python: Installer un traceur avec le module sys

 set, module
{filelink=16865}

import sys
 
# définition d'un fonction
def exemple(n):
    j = 0
    for i in range(n):
        j = j + i
    return n
 
# définition d'une fonction de traçage
def tracer(frame, event, arg):
    print event, frame.f_code.co_name, frame.f_lineno, "=>", arg
    return tracer
 
# Activer le traceur
sys.settrace(tracer)
 
# Activer le traçage de cette fonction
exemple(3)
 
# désactiver le traceur
sys.settrace(None)
 
# cet appel n'est pas tracé
exemple(2)
 
"""
call exemple 5 => None
line exemple 6 => None
line exemple 7 => None
line exemple 7 => None
line exemple 8 => None
line exemple 7 => None
line exemple 8 => None
line exemple 7 => None
line exemple 8 => None
line exemple 7 => None
line exemple 9 => None
return exemple 9 => 3
 
"""

Livres Sur ce Sujet

[amazon_image id=”2212134347″ link=”true” target=”_blank” size=”medium” ]Apprendre à programmer avec Python 3[/amazon_image] [amazon_image id=”B005J2L260″ link=”true” target=”_blank” size=”medium” ]Apprenez à programmer en Python[/amazon_image] [amazon_image id=”2100508830″ link=”true” target=”_blank” size=”medium” ]Python : Petit guide à l’usage du développeur agile[/amazon_image] [amazon_image id=”2212127081″ link=”true” target=”_blank” size=”medium” ]Apprendre à programmer avec Python 3 : Avec plus de 50 pages de corigés d’exercices ![/amazon_image]

Exemple d’utilisation de la boîte de dialogue ‘Couleur’ pour modifier la couleur d’un Bouton

 set, tkinter
{filelink=15404}

# -*- coding: cp1252 -*-
 
from Tkinter import *
from tkColorChooser import askcolor
 
def setBgColor():
    """ Fonction utilisée dans l'événement clique du bouton """
    (rgb, hexstr) = askcolor() # Appel de la boîte de dialogue 'Couleur'
    if hexstr:
        print 'Hexadécimal: ', hexstr
        print 'RGB: ',rgb
        widget.config(bg=hexstr)
 
mainForm = Tk()
widget = Button(mainForm, text='Modifier la Couleur', command=setBgColor)
 
#Configuration du widget
widget.config(height=3, font=('times', 20, 'bold'), bd=8, relief=RAISED)
widget.pack(expand=YES, fill=BOTH)
mainForm.mainloop()

Livres Sur ce Sujet

[amazon_image id=”2212134347″ link=”true” target=”_blank” size=”medium” ]Apprendre à programmer avec Python 3[/amazon_image] [amazon_image id=”B005J2L260″ link=”true” target=”_blank” size=”medium” ]Apprenez à programmer en Python[/amazon_image] [amazon_image id=”2100508830″ link=”true” target=”_blank” size=”medium” ]Python : Petit guide à l’usage du développeur agile[/amazon_image] [amazon_image id=”2212127081″ link=”true” target=”_blank” size=”medium” ]Apprendre à programmer avec Python 3 : Avec plus de 50 pages de corigés d’exercices ![/amazon_image]

CGI: Envoyer les données d’un formulaire HTML

 set, html
{filelink=16693}

#!c:/Python32/python
 
import cgi
 
def send_form( dic ) :
    Nom = dic.getvalue("nom", "" )
    PNom = dic.getvalue("prenom", "" )
 
    flag = int( dic.getvalue("flag", "0") )
 
    print "
<form action='signup.py'>"
    if flag == 1 and Nom == "" :
        print "
 
<font size=16 color='Blue'>Tapez Votre Nom:</FONT>
 
"
    else :
        print "
 
Tapez Votre Nom:
 
"
 
    if Nom != "" :
        print "
<input type='text' name='nom' value="+Nom+" size='40'>"
    else :
        print "
<input type='text' name='nom' size='40'>"
 
    if flag == 1 and PNom == "" :
        print "
 
<font size=16 color='Blue'>Tapez Votre Prénom:</FONT>
 
"
    else :
        print "
 
Tapez Votre Prénom:
 
"
    if PNom != "" :
        print "
<input type='text' name='prenom' value="+PNom+" size='40'>"
    else :
        print "
<input type='text' name='prenom' size='40'>"
    print "
 
"
    print "
<input type='submit' value='Envoyer'>"
    print "
<input type='reset'>"
    print "
<input type='hidden' name='flag' value='1'>"
    print "
 
"
 
def verif_form( dic ) :
 
    error = 0
 
    Nom = dic.getvalue("nom", "" )
    PNom = dic.getvalue("prenom", "" )
 
    if Nom == "" or PNom == "" :
        error = 1
 
    if error == 0 :
        print "Bienvenu " + Nom + " " + PNom
    return error
 
print "Content-Type: text/html"
print "<HTML>"
form = cgi.FieldStorage()
res = verif_form(form)
if res == 1:
    send_form(form)
print "
<form>"
print "</html>"

Livres Sur ce Sujet

[amazon_image id=”2212134347″ link=”true” target=”_blank” size=”medium” ]Apprendre à programmer avec Python 3[/amazon_image] [amazon_image id=”B005J2L260″ link=”true” target=”_blank” size=”medium” ]Apprenez à programmer en Python[/amazon_image] [amazon_image id=”2100508830″ link=”true” target=”_blank” size=”medium” ]Python : Petit guide à l’usage du développeur agile[/amazon_image] [amazon_image id=”2212127081″ link=”true” target=”_blank” size=”medium” ]Apprendre à programmer avec Python 3 : Avec plus de 50 pages de corigés d’exercices ![/amazon_image]

Exemple d’utilisation de l’objet ‘locator’ pour obtenir des informations sur les Nœuds

 set
{filelink=16790}

import sys
from xml.sax import saxutils
from xml.sax import make_parser
from xml.sax import handler
 
class SimpleHandler(saxutils.DefaultHandler):
    """ Utilisaion de l'objet locator"""
    def setDocumentLocator(self,locator):
        self.locator = locator
 
    def startElement(self,name,attrs):
        col = self.locator.getColumnNumber()
        line = self.locator.getLineNumber()
        pubid = self.locator.getPublicId()
        sysid = self.locator.getSystemId()
        print 'startElement (%d,%d,%s,%s): %s' % (line,col,pubid,sysid,name)
 
    def endElement(self,name):
        col = self.locator.getColumnNumber()
        line = self.locator.getLineNumber()
        pubid = self.locator.getPublicId()
        sysid = self.locator.getSystemId()
        print 'endElement (%d,%d,%s,%s): %s' % (line,col,pubid,sysid,name)
 
    def characters(self,data):
        print 'texte: ', repr(data)
 
parser = make_parser()
sh = SimpleHandler()
parser.setContentHandler(sh)
parser.parse('c:/teste.xml')

Livres Sur ce Sujet

[amazon_image id=”2212134347″ link=”true” target=”_blank” size=”medium” ]Apprendre à programmer avec Python 3[/amazon_image] [amazon_image id=”B005J2L260″ link=”true” target=”_blank” size=”medium” ]Apprenez à programmer en Python[/amazon_image] [amazon_image id=”2100508830″ link=”true” target=”_blank” size=”medium” ]Python : Petit guide à l’usage du développeur agile[/amazon_image] [amazon_image id=”2212127081″ link=”true” target=”_blank” size=”medium” ]Apprendre à programmer avec Python 3 : Avec plus de 50 pages de corigés d’exercices ![/amazon_image]

Evénement Clavier: Vérifier si la touche ‘shift’ à été appuyée ou relâchée

ftp, set, tkinter
{filelink=15670}

from Tkinter import *
 
class Evenement(Frame):
    """ Evénement sur la touche 'Shift'"""
    def __init__(self, parent=None):
        Frame.__init__( self )
        self.master.title("Touche - clavier")
        self.master.geometry("350x100")
        self.pack(expand=YES, fill=BOTH)
        self.message=StringVar()
        lbl=Label(self, textvariable=self.message)
        self.message.set("Vousn'avez pas encore appuyé sur Shift")
        lbl["bg"]="blue"
        lbl.config(fg='RED')
        lbl["font"]=('courier', 12, 'bold')
        lbl.pack(expand=YES, fill=BOTH)
        # Liaison de l'événement
        lbl.master.bind( "<KeyPress-Shift_L>", self.shiftPressed )
        lbl.master.bind( "<KeyRelease-Shift_L>", self.shiftReleased )
        lbl.focus()
 
    def shiftPressed( self, event ):
      self.message.set( "Vous avez appuyé sur Shift" +event.keysym)
 
    def shiftReleased( self, event ):
      self.message.set( "Vous avez relâché Shift" )
 
def main():             #Fonction principale
   Evenement().mainloop()
 
if __name__=="__main__":
    main()

Livres Sur ce Sujet

[amazon_image id=”2212134347″ link=”true” target=”_blank” size=”medium” ]Apprendre à programmer avec Python 3[/amazon_image] [amazon_image id=”B005J2L260″ link=”true” target=”_blank” size=”medium” ]Apprenez à programmer en Python[/amazon_image] [amazon_image id=”2100508830″ link=”true” target=”_blank” size=”medium” ]Python : Petit guide à l’usage du développeur agile[/amazon_image] [amazon_image id=”2212127081″ link=”true” target=”_blank” size=”medium” ]Apprendre à programmer avec Python 3 : Avec plus de 50 pages de corigés d’exercices ![/amazon_image]

Utilisation du module ‘saxutils.DefaultHandler’ pour interpréter un fichier XML

 fichier, set
{filelink=16785}

 
from xml.sax import make_parser
from xml.sax import saxutils
 
class Lire_XML(saxutils.DefaultHandler):
    """ Trouver le début, la fin et les caractères de chaque élément """
    def startElement(self,name,attrs):
        print 'Début Balise: ',name,attrs
    def endElement(self,name):
        print 'Fin balise: ',name
    def characters(self,data):
        print 'Données: ', repr(data)
 
demx = Lire_XML()
p = make_parser()
p.setContentHandler(demx)
p.parse("c:/teste.xml")

Livres Sur ce Sujet

[amazon_image id=”2212134347″ link=”true” target=”_blank” size=”medium” ]Apprendre à programmer avec Python 3[/amazon_image] [amazon_image id=”B005J2L260″ link=”true” target=”_blank” size=”medium” ]Apprenez à programmer en Python[/amazon_image] [amazon_image id=”2100508830″ link=”true” target=”_blank” size=”medium” ]Python : Petit guide à l’usage du développeur agile[/amazon_image] [amazon_image id=”2212127081″ link=”true” target=”_blank” size=”medium” ]Apprendre à programmer avec Python 3 : Avec plus de 50 pages de corigés d’exercices ![/amazon_image]

GUI: Attribuer le focus à un widget

 set, tkinter
{filelink=15427}

from Tkinter import *                   
 
class SimpleFrame(Frame):
    def __init__(self, parent=None):
        Frame.__init__(self, parent)
        self.pack()
        self.paintComponent()
 
    def paintComponent(self):
        btn = Button(self, text='Mon Bouton', command=self.quit)
        lbl = Label(self, text='Mon Label')
        txt = Entry(self)
        txt.insert(0,"Tapez un texte ici")
        txt.focus_set()                # Focus par défaut pour le widget Entry
        btn.pack(side=BOTTOM)
        lbl.pack(side=LEFT)
        txt.pack(side=RIGHT)
 
if __name__ == '__main__':
    SimpleFrame().mainloop()

Livres Sur ce Sujet

[amazon_image id=”2212134347″ link=”true” target=”_blank” size=”medium” ]Apprendre à programmer avec Python 3[/amazon_image] [amazon_image id=”B005J2L260″ link=”true” target=”_blank” size=”medium” ]Apprenez à programmer en Python[/amazon_image] [amazon_image id=”2100508830″ link=”true” target=”_blank” size=”medium” ]Python : Petit guide à l’usage du développeur agile[/amazon_image] [amazon_image id=”2212127081″ link=”true” target=”_blank” size=”medium” ]Apprendre à programmer avec Python 3 : Avec plus de 50 pages de corigés d’exercices ![/amazon_image]