Question de saut de ligne [python] - Python - Programmation
Marsh Posté le 31-07-2003 à 11:31:27
çà ne marche pas cette solution chez moi ...
je t'envoi le code, au cas où tu veuille bien y jeter un oeil :
Code :
|
Moi je voudrais que toutes mes balise <img> contenues dans les <td> soit collés dans la source html ..
Marsh Posté le 31-07-2003 à 16:21:53
Désolé TAZ je dois mal m'expliquer si tu veux j'ai mon script CGI que tu peux voir plus haut il génere du code HTML ....
A un moment il me sort un truc de ce style :
<img src="../../icons/space.jpg" width="10" height="21" border="0">
<img src="../../icons/space.jpg" width="1" height="21" border="0">
Mais moi je veux que c'est 2 lignes ne fasse qu'une:
<img src="../../icons/space.jpg" width="10" height="21" border="0"><img src="../../icons/space.jpg" width="1" height="21" border="0">
Tu comprends???
ALors le problème c'est que c'est 2 chaines sont écrites par 2 print différents, et que je ne peux pas les concatené, ou du moins je ne crois pas ...
Car quand je fais le second print, je ne sais pas quel print a été fait avant ..
Est ce que tu comprends maintenant ou pas?
En fait je voudrais que quand je fasse un print, la chaine soit automatiquement mise à la suite de la dèrnière sortie (printé) sans aller à la ligne .
Marsh Posté le 31-07-2003 à 16:28:22
Bah parceque tout simplement je ne connais pas la chaine qui précède, mais remarque je suis tellementnul en python que c'est peut etre possible, la doc python que j'ai lu n'allait pas dans les gros détail la dessus ...
Tu peux faire un print +"triutrieuitureituer" , çà se fait çà ?
Marsh Posté le 31-07-2003 à 16:29:47
ecoute print, fonctionne
mais si tu veux pas, ben tu prépare tes chaines et affiche la somme...
Marsh Posté le 31-07-2003 à 16:31:57
Comment çà print fonctionne ?
Et préparer les chaines, si je te suis bien çà sous entend que je garde en mémoire à chaque fois la dèrnière chaine printé ?
Marsh Posté le 31-07-2003 à 16:33:58
[benoit@athlon tmp]$ cat print.py
print "hello",
print "world"
[benoit@athlon tmp]$ python print.py
hello world
Marsh Posté le 31-07-2003 à 17:02:35
Bah ouai ton truc il marche je ne comprends pas, ... avec un petit test.py çà marche bien, mais quand je lance le script que j'ai copier coller, çà ne le fait pas,...
Bon mais là vu l'exemple frappant que tu m'a donné, c'est forcé que c moi qui ai fait une erreur, enfin merci pour le print "",
C'est bon à savoiR...
Chao ...
Marsh Posté le 31-07-2003 à 17:10:00
ouai bah non je ne pige pas ... çà marche pas , je vais passer en mode débuggage intensif là , çà va chier pour le print, merci pour tout benoit
Marsh Posté le 31-07-2003 à 17:21:04
pourquoi tu fais pas des + ou alors des
print '<img src=%s /><img src=% />' % ( 'dawa.png', 'truc.jpeg')
Marsh Posté le 31-07-2003 à 17:24:29
Euh bah là je ne vois par contre, je ne vois pas en quoi çà résoudrait mon problème ...
Le pb ce n'est pas de savoir quelles images mettre,
...
...
...
Ah remarque si tu as peut etre raison çà peut peut etre m'aider , bon j'étudie çà
Marsh Posté le 31-07-2003 à 17:25:33
de toutes façons, je comprends pas pourquoi tu prépares pas ta chaine tranquillement, et une fois que t'as tout dedans, pan, un print
Marsh Posté le 31-07-2003 à 17:35:52
Regarde mon script ... tu le vois? je l'ai copié plus haut ...
Bah maintenant regarde un des morceau qu'il me rend lors de son execution:
<tr>
<td>
<img src="../../icons/space.jpg" width="10" height="21" border="0">
<img src="../../icons/space.jpg" width="1" height="21" border="0"><img src="../../icons/t.gif" width="9" height="21" border="0"> <img src="../../icons/m.gif" width="9" height="21" border="0"> Projet1
</td>
</tr>
et bien moi je voudrais plutot:
<tr>
<td>
<img src="../../icons/space.jpg" width="10" height="21" border="0"><img src="../../icons/space.jpg" width="1" height="21" border="0"><img src="../../icons/t.gif" width="9" height="21" border="0"> <img src="../../icons/m.gif" width="9" height="21" border="0"> Projet1
</td>
</tr>
tu vois la nuance..
Bah quand tu regarde mon script python avec les if, tu vois bien que je ne peux pas savoir qu'elle tag img, je vais mettre...
Mais bon je ne suis pas très fort en python ...
Tu ferais comment toi*
Fais moi un exemple très con si tu as le temps du style ...
Print "prout"
if a:
print "quand"
else:
print "sans"
if c:
print "pluie il y a"
else:
print "les champs"
Bon moi en résultat je voudrais que çà phase une phrase sur une ligne et pas
prout
quand/sans
pluie il y a/leschamps
Marsh Posté le 31-07-2003 à 17:38:31
et ben pourquoi tu concatènes pas les chaines? et en fin de compte, un print
Marsh Posté le 31-07-2003 à 17:40:13
Mais je pige pas ce que tu veux dire, tu veux dire, faire un print "<chaine de caractères>", (en oubliant pas la virgule)
C'est çà que tu veux dire?
Parceque si c'est çà , et bien, j'ai éssayé, quand je lance un test tout con comme tu as fait çà marche, mais là çà ne marche pas ... ???
Je ne sais pas pourkoi ...
Marsh Posté le 31-07-2003 à 17:41:32
[code]
a="truc"
if machin:
a+="dawa"
else:
a+="tamere"
print a
Marsh Posté le 31-07-2003 à 17:44:20
MMh ouai c'est un peu plus compliqué que de rajouter les virgules,
Mais çà reste simple, j'y avait pas penser ...
Merci
Marsh Posté le 31-07-2003 à 17:50:22
Putain Taz je suis trop con.. je suis désolé d'avoir pris de ton temps j'ai trouvé mon erreur, en fait le coup des "", marchait très bien ,j'en avait rajouté partout , sauf à un moment ou je fais un print space... sauf que space c'était un <img ...> récupéré des paramètre de fonction, donc à chaque fois çà merdait, mais je n'avais pas vu ...
En tout cas merci bcp pour l'astuce du "",
EUH /!\ : C'est dans quel doc que tu as vu çà , parceque la mieene a beau etre grosse y'a pas çà /...
En tout cas merci beaucoup à toi d'avoir concacré ton temps pur m'aider
Marsh Posté le 31-07-2003 à 17:53:43
je sais pas, en tout cas c'est dans le précis&concis d'oreillyn dans Nutshell (en anglais) donc ça doit se trouver partout. print est un mot réservé donc, ça doit être bien documenté normalement
Marsh Posté le 31-07-2003 à 18:10:21
Ouai bah en fait là j'ai choppé une doc d'un pote en francais en plus et c'est dedans ... je change donc de doc. ..
D'ailleurs là j'ai lu tout ce qu'il y'avait à savoir sur lstrip() rstrip() mais fait un vi de çà et lance le:
a="true"
print '<img src="../../icons/space.jpg" width="1" height="21" border="0"><img src="../../icons/t.gif" width="9" height="21" border="0">',
if a=="true":
print '<img src="../../icons/space.jpg" width="1" height="21" border="0"><img src="../../icons/t.gif" width="9" height="21" border="0">',
else:
print '<img src="../../icons/space.jpg" width="1" height="21" border="0"><img src="../../icons/t.gif" width="9" height="21" border="0">',
tu va voir il y a un espace entre les <img> et çà c'est la mort pour moin, j'ai beau mettre des strip(), j'arrive pas à les enlever... est ce qu'il faut que je passe par un mode de liste ? OU je sais quoi ?
Est ce que je peux faire une truc du style qque part ?
Qu'est ce que tu en penses ,
Marsh Posté le 31-07-2003 à 18:18:00
pas d'espace chez moi
<img src="../../icons/space.jpg" width="1" height="21" border="0"><img src="../../icons/t.gif" width="9" height="21" border="0">
au fait, les booléens existe en Python, True et False
Marsh Posté le 31-07-2003 à 21:36:29
Nop y'a pas d'espace toi tu as regardé les 2 premiers:
mais c'est normal car pour les deux premiers <img> on a:
print '<img src="../../icons/space.jpg" width="1" height="21" border="0"><img src="../../icons/t.gif" width="9" height="21" border="0">',
Voilà ... mais regarde le résultat après y'a des espaces non ?
Marsh Posté le 01-08-2003 à 10:46:56
Bah si mais toi aussi tu as forcément les éspaces ... regarde au milieu, tu as deux groupe de 2 tag <img>, et bein il y 'a un espace entre ces groupes ... regarde mieux STP et dis moi que toi aussi tu as ce put... d'éspace .
Marsh Posté le 01-08-2003 à 10:52:08
ProToinou a écrit : Bah si mais toi aussi tu as forcément les éspaces ... regarde au milieu, tu as deux groupe de 2 tag <img>, et bein il y 'a un espace entre ces groupes ... regarde mieux STP et dis moi que toi aussi tu as ce put... d'éspace . |
On va mettre ça sous le coup d'un manque de café pour tous les 2. Il y a 2 endroits dans le code on l'ont fait des print pour les "<img>" et le premier intègre la virgule anti retour à la ligne mais pas le deuxième.
PS : de plus, la virgule après le print enlève le retour à la ligne mais le remplace par un espace aussi.
Marsh Posté le 01-08-2003 à 11:22:34
ouai kristoph et donc comment, est ce que tu fais pour enlever cet épsace ?
Marsh Posté le 01-08-2003 à 11:24:57
mais POURQUOI (avec au choix: +, +=, string.join, %) tu veux pas faire par concaténation et ne faire qu'un seul print
Marsh Posté le 01-08-2003 à 11:29:24
ProToinou a écrit : ouai kristoph et donc comment, est ce que tu fais pour enlever cet épsace ? |
Fais comme Taz te dis de faire, c'est de la méthode la plus simple même si ce n'est pas la plus efficace en terme de perfs.
Si tu te sens l'ame d'un optimisator de l'extrème, tu peux aussi essayer de remplacer tous tes print par des sys.stdout.write(chaine) mais ça risque de rendre le code pas très lisible.
Marsh Posté le 01-08-2003 à 14:15:12
Bah si sans doute que je peux faire çà , je vais voir, c'est juste que le code sera moins facilement maintenable après, mais bon je vais le commenter un minimum, çà devrait le faire
Je vais essayer de tout concaténer comme çà
Marsh Posté le 01-08-2003 à 14:37:14
Kristoph a écrit : |
Je retire ce que j'ai dis pour les questions de perfs :
Citation : 16 Jun 2003 |
Avec l'optimisateur psyco pour python, faire plein de "s=s+t" pour créer une chaine ne fait pratiquement pas perdre de performances alors c'est donc la méthode conseillée pour sa lisibilité.
Marsh Posté le 31-07-2003 à 11:18:18
Salut voilà je sais comment gérer les saut de ligne en java, ou autr langage. mais voilà en python quand on fait un print, le saut de ligne est automatique...
Le problème c'est que je ne veux pas ce put.... de saut de ligne, est ce que vous savez comment faire ???
J'ai cherché bien sûr, j'ai vu comment virer les dèrnière lettre, les espaces .. mais pas comment virer le saut de ligne ou écrire à la suite du dernier print ..
HELP ?
@ ++