Programmation » Python.. on s'y met..
Python.. on s'y met..
Publié le 26/03/2006 @ 23:43:09,
Par cauetVilà, y'en fallait un.
Un bouquin à lire absolument: http://www.ulg.ac.be/cifen/inforef/swi/python.htm
La partie python de Developpez: http://python.developpez.com/
La doc officielle: http://docs.python.org/
Installeur Windows : http://www.python.org/ftp/python/2.4.2/python-2.4.2.msi
Des forms pour Windows : http://www.wxpython.org/screenshots.php
L'IDE Eric http://www.die-offenbachs.de/detlev/eric3-screenshots.html
L'IDE Boaconstructor http://boa-constructor.sourceforge.net/Screenshots/
Je vais regarder dès que je peux pour intégrer Python à Apache..
Et si Philfr pouvais nous mettre le nom des softs qui permettent de compiler le python pour le rendre executable sous windows.. ce serait ça en plus..
Un bouquin à lire absolument: http://www.ulg.ac.be/cifen/inforef/swi/python.htm
La partie python de Developpez: http://python.developpez.com/
La doc officielle: http://docs.python.org/
Installeur Windows : http://www.python.org/ftp/python/2.4.2/python-2.4.2.msi
Des forms pour Windows : http://www.wxpython.org/screenshots.php
L'IDE Eric http://www.die-offenbachs.de/detlev/eric3-screenshots.html
L'IDE Boaconstructor http://boa-constructor.sourceforge.net/Screenshots/
Je vais regarder dès que je peux pour intégrer Python à Apache..
Et si Philfr pouvais nous mettre le nom des softs qui permettent de compiler le python pour le rendre executable sous windows.. ce serait ça en plus..
Python.. on s'y met..
Publié le 27/03/2006 @ 00:25:48,
Par philfrUne autre référence de très grande qualité, mais en anglais:
Dive into Python : http://diveintopython.org/
Dive into Python : http://diveintopython.org/
Python.. on s'y met..
Publié le 30/03/2006 @ 10:07:08,
Par Jean-ChristopheJ'ai une simple question.
J'ai pas encore fini mes recherches, mais bon...
Comment on fait une fonction?
Par exemple (dans mon language à moi)
Ca nous donnerait "aaaaaaaaaa"
J'ai pas encore fini mes recherches, mais bon...
Comment on fait une fonction?
Par exemple (dans mon language à moi)
Print process(10)
Function process(number)
for i = 1 to number do
process = a + process
next
End Function
Function process(number)
for i = 1 to number do
process = a + process
next
End Function
Ca nous donnerait "aaaaaaaaaa"
Python.. on s'y met..
Publié le 30/03/2006 @ 10:27:46,
Par Tokirosfacile ^^
Y'a moyen de faire ca en une ligne, mais on va commencer simple
Dernière édition: 30/03/2006 @ 10:31:44
def process(number):
res = ''
for i in range(number):
res = res + 'a'
return res
print process(10)
res = ''
for i in range(number):
res = res + 'a'
return res
print process(10)
Y'a moyen de faire ca en une ligne, mais on va commencer simple
Dernière édition: 30/03/2006 @ 10:31:44
Python.. on s'y met..
Publié le 30/03/2006 @ 10:36:42,
Par philfrAttention: il faut indenter le code dans la fonction. Il n'y a pas de begin/end/{/}.
Un conseil: toujours utiliser des espaces pour indenter, ou alors que tes tabs, mais le mix entre les deux est assez imprévisible.
Un conseil: toujours utiliser des espaces pour indenter, ou alors que tes tabs, mais le mix entre les deux est assez imprévisible.
Python.. on s'y met..
Publié le 03/04/2006 @ 14:03:50,
Par Jean-ChristopheJ'ai encore une question.
Comment faire pour retrouver le second élément d'une liste.
Je vous explique...
Dans une string qui contient "xxx yyy", je voudrais retrouver yyy.
Je fais un string.split qui me renvoie ['xxx', 'yyy'] mais je ne suis pas plus avancé.
Merci
Comment faire pour retrouver le second élément d'une liste.
Je vous explique...
Dans une string qui contient "xxx yyy", je voudrais retrouver yyy.
Je fais un string.split qui me renvoie ['xxx', 'yyy'] mais je ne suis pas plus avancé.
Merci
Python.. on s'y met..
Publié le 03/04/2006 @ 14:16:21,
Par Jean-ChristopheAutre chose encore.
Je voudrais récupérer des infos sur une page web.
Pour le moment, je sais récupérer la source html. C'est déjà pas mal.
Ce qui serait super, c'est de pouvoir récupérer l'équivament d'un copy-paste de la page web. Donc, pas la source, mais le résultat.
Je n'ai besoin que de texte, pas d'image, de tableau, rien de tout celà.
Merci
Je voudrais récupérer des infos sur une page web.
Pour le moment, je sais récupérer la source html. C'est déjà pas mal.
Ce qui serait super, c'est de pouvoir récupérer l'équivament d'un copy-paste de la page web. Donc, pas la source, mais le résultat.
Je n'ai besoin que de texte, pas d'image, de tableau, rien de tout celà.
Merci
Python.. on s'y met..
Publié le 03/04/2006 @ 19:57:24,
Par TokirosJ'ai encore une question.
Comment faire pour retrouver le second élément d'une liste.
Je vous explique...
Dans une string qui contient "xxx yyy", je voudrais retrouver yyy.
Je fais un string.split qui me renvoie ['xxx', 'yyy'] mais je ne suis pas plus avancé.
Merci
Comment faire pour retrouver le second élément d'une liste.
Je vous explique...
Dans une string qui contient "xxx yyy", je voudrais retrouver yyy.
Je fais un string.split qui me renvoie ['xxx', 'yyy'] mais je ne suis pas plus avancé.
Merci
Je suis pas sur d'avoir compris ta question, mais si c'est acceder a différents éléments d'une liste, c'est assez simple :
>>> l = ['xxx','yyy','zzz']
>>> print l[0]
'xxx'
>>> print l[1]
'yyy'
>>> print l[2]
'zzz'
Python.. on s'y met..
Publié le 03/04/2006 @ 20:41:58,
Par Jean-Christophec'est ca, super, merci
Pour l'html, tu as une idée?
Pour l'html, tu as une idée?
Python.. on s'y met..
Publié le 04/04/2006 @ 14:14:21,
Par TokirosPour l'html, tu as une idée?
C'est un peu plus compliqué...
regarde la :
http://www.boddie.org.uk/python/HTML.html
un truc dans le genre devraile faire
import sgmllib
import urllib
class MyParser(sgmllib.SGMLParser):
"A simple parser class."
def parse(self, s):
"Parse the given string 's'."
self.descriptions = ''
self.feed(s)
self.close()
return self.descriptions
def handle_data(self, data):
"Handle the textual 'data'."
self.descriptions += data
f = urllib.urlopen("http://www.python.org")
s = f.read()
myparser = MyParser()
print myparser.parse(s)
f.close()
Mais attention, j'ai pas testé...
Dernière édition: 04/04/2006 @ 14:15:24
Python.. on s'y met..
Publié le 04/04/2006 @ 14:24:35,
Par Jean-Christophemerci, je vais essayer tout à l'heure!
Python.. on s'y met..
Publié le 04/04/2006 @ 15:27:11,
Par AltarAttention: il faut indenter le code dans la fonction. Il n'y a pas de begin/end/{/}.
Un conseil: toujours utiliser des espaces pour indenter, ou alors que tes tabs, mais le mix entre les deux est assez imprévisible.
Un conseil: toujours utiliser des espaces pour indenter, ou alors que tes tabs, mais le mix entre les deux est assez imprévisible.
Une des plus grosses bêtises de python d'ailleurs...
Sinon pour intégrér pyhton à apache pourquoi ne pas lancer les scripts en cgi plutôt que d'essayer d'utiliser un module qui de toute façon n'existera plus dans la version 6 (et qui n'aurait jamais du exister). Autant prendre les bonnes habitudes depuis le début.
Python.. on s'y met..
Publié le 04/04/2006 @ 16:21:21,
Par TokirosSi c'est l'indentation une des plus grosses bétises de python, moi je pense le contraire, je trouve que c'est une tres bonne chose de devoir indenter proprement son code
Python.. on s'y met..
Publié le 13/04/2006 @ 10:55:08,
Par philfrTokiros> 100% d'accord avec toi. Mais c'est la critique numéro 1 que l'on entend, en général de la part des non programmeurs python...
Altar> c'est quoi pour toi les autres plus grosses bétises de Python ?
Pour zion qui a des problèmes avec PHP et les headers d'e-mails, voici comment Python s'occupe de la chose:
>>> from email.MIMEText import MIMEText
>>> from email.Header import Header
>>> msg=MIMEText("Bonjour à tous.\nÀ bientôt\n","plain","iso-8859-15")
>>> msg['Subject'] = Header("Méééé ! voilà un subject à encoder", "iso-8859-15")
>>> msg['To'] = Header('Jean Dupont <jdupont@plouc.be>')
>>> print msg.as_string()
Content-Type: text/plain; charset="iso-8859-1"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Subject: =?iso-8859-1?q?M=E9=E9=E9=E9_!_voil=E0_un_subject_=E0_encoder?=
To: Jean Dupont <jdupont@plouc.be>
Bonjour =E0 tous.
=C0 bient=F4t
>>>
Dernière édition: 13/04/2006 @ 10:55:35
Altar> c'est quoi pour toi les autres plus grosses bétises de Python ?
Pour zion qui a des problèmes avec PHP et les headers d'e-mails, voici comment Python s'occupe de la chose:
>>> from email.MIMEText import MIMEText
>>> from email.Header import Header
>>> msg=MIMEText("Bonjour à tous.\nÀ bientôt\n","plain","iso-8859-15")
>>> msg['Subject'] = Header("Méééé ! voilà un subject à encoder", "iso-8859-15")
>>> msg['To'] = Header('Jean Dupont <jdupont@plouc.be>')
>>> print msg.as_string()
Content-Type: text/plain; charset="iso-8859-1"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Subject: =?iso-8859-1?q?M=E9=E9=E9=E9_!_voil=E0_un_subject_=E0_encoder?=
To: Jean Dupont <jdupont@plouc.be>
Bonjour =E0 tous.
=C0 bient=F4t
>>>
Dernière édition: 13/04/2006 @ 10:55:35
Python.. on s'y met..
Publié le 13/04/2006 @ 11:48:08,
Par ovhAltar voulait peut-être parler du fait que mixer espaces et tabulations ne marche pas bien.
Et bon, moi j'indente toujours mon code, mais je trouve plus clair de délimiter les blocs par des accolades
Et bon, moi j'indente toujours mon code, mais je trouve plus clair de délimiter les blocs par des accolades
Je n'ai rien à voir avec www.ovh.com
Python.. on s'y met..
Publié le 13/04/2006 @ 11:53:14,
Par zionphilfr> Je ne suis pas programmeur python, mais une indentation foireuse devrait être sanctionnée par le compilo, je suis bien d'accord. Ou au moins balancer des warnings, parce que c'est illisible un code mal indenté (mais je me contenterais d'un warning quand même)
Ah mais évidemment pour le mail, tu passes par un encodage explicite. Pour ma part, tout est en full unicode dans Kelare, si PHP pouvait proposer des APIs qui fonctionnent avec l'unicode, je n'aurais pas ce "problème".
Je pourrais pour la forme l'encoder moi même, je te l'accorde, mais j'ai pas envie que le sujet soit bousillé sur un client qui ne le supporte pas, et je dois dire que j'ai la flemme de devoir contourner un problème qui devrait être réglé avec une fonction mail qui serait en unicode
Ah mais évidemment pour le mail, tu passes par un encodage explicite. Pour ma part, tout est en full unicode dans Kelare, si PHP pouvait proposer des APIs qui fonctionnent avec l'unicode, je n'aurais pas ce "problème".
Je pourrais pour la forme l'encoder moi même, je te l'accorde, mais j'ai pas envie que le sujet soit bousillé sur un client qui ne le supporte pas, et je dois dire que j'ai la flemme de devoir contourner un problème qui devrait être réglé avec une fonction mail qui serait en unicode
Je suis le Roy
Python.. on s'y met..
Publié le 13/04/2006 @ 12:09:32,
Par philfrQuand tu dis unicode, tu dois vouloir dire UTF-8, UTF-16, ou UCS-4... Implicitement ou explicitement, il faut convertir l'encodage que tu utilises pour l'unicode vers l'encodage acceptable pour un header ou un body MIME.
Et tu as bien plus de chances de tomber sur un mailer qui ne saura rien faire avec ton header unicode que sur un mailer qui ne comprend pas un header encodé selon RFC2047...
Mais on est d'accord: il faudrait un API "set_default_encoding" qui influence tous les APIs de génération d'emails.
Il y a sûrement un moyen trivial de faire ça en Python...
Dernière édition: 13/04/2006 @ 12:10:16
Et tu as bien plus de chances de tomber sur un mailer qui ne saura rien faire avec ton header unicode que sur un mailer qui ne comprend pas un header encodé selon RFC2047...
Mais on est d'accord: il faudrait un API "set_default_encoding" qui influence tous les APIs de génération d'emails.
Il y a sûrement un moyen trivial de faire ça en Python...
Dernière édition: 13/04/2006 @ 12:10:16
Python.. on s'y met..
Publié le 13/04/2006 @ 12:19:36,
Par zionC'est en UTF-16 en effet, mais je repasse tout en UTF-8 pour l'affichage vu que même niveau browser, c'est pas toujours évident un UTF-16 (ni pour les mailers, déjà l'UTF-8 ils ont du mal).
Quand j'envoie un mail, il est justement explicitement en UTF-8 cfr l'encoding, donc pas besoin que je fasse quoi que ce soit. Le sujet devrait d'ailleurs aussi être traité comme étant de l'UTF8 si on reste logique avec le :
Content-Type: text/plain; charset=UTF-8
C'est pas le cas, ok, mais ce serait logique que le sujet soit dans le même charset que le content et qu'on doive pas l'encoder
Quand j'envoie un mail, il est justement explicitement en UTF-8 cfr l'encoding, donc pas besoin que je fasse quoi que ce soit. Le sujet devrait d'ailleurs aussi être traité comme étant de l'UTF8 si on reste logique avec le :
Content-Type: text/plain; charset=UTF-8
C'est pas le cas, ok, mais ce serait logique que le sujet soit dans le même charset que le content et qu'on doive pas l'encoder
Je suis le Roy
Python.. on s'y met..
Publié le 13/04/2006 @ 13:36:32,
Par philfrce serait logique que le sujet soit dans le même charset que le content et qu'on doive pas l'encoder
Sans doute, mais la structure header/body des e-mails (RFC822) existait avant MIME et avant content-type, et ne connaissait que l'US-ASCII 7 bit.
Ajouter des headers pour spécifier l'encodage du body était possible et a permis MIME.
Mais ajouter des pre-headers pour spécifier l'encodage des headers...???
Tu peux d'ailleurs t'estimer heureux que beaucoup de MTA (postfix/exim/...) et de mailers acceptent des contenus sur 8 bits dans les bodies. Normalement, tous les encodages qui nécessitent le 8ème bit doivent être convertis en quoted-printable ou base-64.
Mais on s'éloigne de python... Si tu splittais le topic ?