je me suis r=E9cemment int=E9ress=E9 a l'app-engine de google et j'ai
decider de recoder les script (perl) de mon server vers ce systeme
(python) , jusqu'a hier , aucun souci mais aujourdhui je me suis lanc=E9
dans le recodage d'un chat ... mais je bloque sur le systeme de
replacement de string :
voila le code original (perl) :
$str =3D~ s!\[b\](.+?)\[/b\]!$1!g;
qui remplace dans la variable str les [b] [/b] par des <b> </b>
mais je n'arrive pas a faire de meme avec python , je me retrouve la
plupart du temp avec un
"cannot concatenate 'str' and 'NoneType' objects" (le NoneType etant
provoqu=E9 par greeting.msg)
j'ai essay=E9 :
str =3D re.match("[b](.*?)[/b]", greeting.msg)
mais je sait pas comment manipuler les match ou autre remplace en
python.
si une lumi=E8re bienveillante pouvais me montrer les chemin ;)
merci
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
cémoi
biscotte a la crevette a écrit :
bonjours,
je me suis récemment intéressé a l'app-engine de google et j'ai decider de recoder les script (perl) de mon server vers ce systeme (python) , jusqu'a hier , aucun souci mais aujourdhui je me suis lancé dans le recodage d'un chat ... mais je bloque sur le systeme de replacement de string : voila le code original (perl) : $str =~ s![b](.+?)[/b]!$1!g; qui remplace dans la variable str les [b] [/b] par des <b> </b> mais je n'arrive pas a faire de meme avec python , je me retrouve la plupart du temp avec un "cannot concatenate 'str' and 'NoneType' objects" (le NoneType etant provoqué par greeting.msg) j'ai essayé : str = re.match("[b](.*?)[/b]", greeting.msg) mais je sait pas comment manipuler les match ou autre remplace en python.
si une lumière bienveillante pouvais me montrer les chemin ;)
Voici une piste:
import re string = "un [b] texte balise [/b] a modifier" string = re.sub('[b](.+?)[/b]', r'<b>1</b>', string)
A noter qu'en Python les chaines de caractères disposent de la méthode 'replace' qui permet de faire pas mal de choses avant de faire appel aux expressions régulières.
De la documentation en français est disponible à ces différentes adresses:
Il existe également un debugger pour les RE en Python:
http://kodos.sourceforge.net/
HTH,
Laurent
merci
biscotte a la crevette a écrit :
bonjours,
je me suis récemment intéressé a l'app-engine de google et j'ai
decider de recoder les script (perl) de mon server vers ce systeme
(python) , jusqu'a hier , aucun souci mais aujourdhui je me suis lancé
dans le recodage d'un chat ... mais je bloque sur le systeme de
replacement de string :
voila le code original (perl) :
$str =~ s![b](.+?)[/b]!$1!g;
qui remplace dans la variable str les [b] [/b] par des <b> </b>
mais je n'arrive pas a faire de meme avec python , je me retrouve la
plupart du temp avec un
"cannot concatenate 'str' and 'NoneType' objects" (le NoneType etant
provoqué par greeting.msg)
j'ai essayé :
str = re.match("[b](.*?)[/b]", greeting.msg)
mais je sait pas comment manipuler les match ou autre remplace en
python.
si une lumière bienveillante pouvais me montrer les chemin ;)
Voici une piste:
import re
string = "un [b] texte balise [/b] a modifier"
string = re.sub('[b](.+?)[/b]', r'<b>1</b>', string)
A noter qu'en Python les chaines de caractères disposent de la méthode
'replace' qui permet de faire pas mal de choses avant de faire appel aux
expressions régulières.
De la documentation en français est disponible à ces différentes adresses:
je me suis récemment intéressé a l'app-engine de google et j'ai decider de recoder les script (perl) de mon server vers ce systeme (python) , jusqu'a hier , aucun souci mais aujourdhui je me suis lancé dans le recodage d'un chat ... mais je bloque sur le systeme de replacement de string : voila le code original (perl) : $str =~ s![b](.+?)[/b]!$1!g; qui remplace dans la variable str les [b] [/b] par des <b> </b> mais je n'arrive pas a faire de meme avec python , je me retrouve la plupart du temp avec un "cannot concatenate 'str' and 'NoneType' objects" (le NoneType etant provoqué par greeting.msg) j'ai essayé : str = re.match("[b](.*?)[/b]", greeting.msg) mais je sait pas comment manipuler les match ou autre remplace en python.
si une lumière bienveillante pouvais me montrer les chemin ;)
Voici une piste:
import re string = "un [b] texte balise [/b] a modifier" string = re.sub('[b](.+?)[/b]', r'<b>1</b>', string)
A noter qu'en Python les chaines de caractères disposent de la méthode 'replace' qui permet de faire pas mal de choses avant de faire appel aux expressions régulières.
De la documentation en français est disponible à ces différentes adresses:
Il existe également un debugger pour les RE en Python:
http://kodos.sourceforge.net/
HTH,
Laurent
merci
biscotte a la crevette
merci a toi , j'ai réussi a remplacer ce que je voulais dans un string mais le problème viens du fait que la récupération d'une info dans la base de donnée (Greeting) chez google n'a pas d'attribut (NoneType) je ne peut donc pas procéder a un remplace ou autre :s
merci a toi , j'ai réussi a remplacer ce que je voulais dans un string
mais le problème viens du fait que la récupération d'une info dans la
base de donnée (Greeting) chez google n'a pas d'attribut (NoneType)
je ne peut donc pas procéder a un remplace ou autre :s
merci a toi , j'ai réussi a remplacer ce que je voulais dans un string mais le problème viens du fait que la récupération d'une info dans la base de donnée (Greeting) chez google n'a pas d'attribut (NoneType) je ne peut donc pas procéder a un remplace ou autre :s
Bruno Desthuilliers
biscotte a la crevette a écrit :
merci a toi , j'ai réussi a remplacer ce que je voulais dans un string mais le problème viens du fait que la récupération d'une info dans la base de donnée (Greeting) chez google n'a pas d'attribut (NoneType)
NoneType est la classe du singleton None (dont le nom est assez explicite, je pense). Je n'ai jamais mis le nez dans googleapp, mais AMHA, si tu a un None au lieu de la valeur attendu, c'est qu'il y a un loup quelque part dans ton code.
biscotte a la crevette a écrit :
merci a toi , j'ai réussi a remplacer ce que je voulais dans un string
mais le problème viens du fait que la récupération d'une info dans la
base de donnée (Greeting) chez google n'a pas d'attribut (NoneType)
NoneType est la classe du singleton None (dont le nom est assez
explicite, je pense). Je n'ai jamais mis le nez dans googleapp, mais
AMHA, si tu a un None au lieu de la valeur attendu, c'est qu'il y a un
loup quelque part dans ton code.
merci a toi , j'ai réussi a remplacer ce que je voulais dans un string mais le problème viens du fait que la récupération d'une info dans la base de donnée (Greeting) chez google n'a pas d'attribut (NoneType)
NoneType est la classe du singleton None (dont le nom est assez explicite, je pense). Je n'ai jamais mis le nez dans googleapp, mais AMHA, si tu a un None au lieu de la valeur attendu, c'est qu'il y a un loup quelque part dans ton code.