[résolu]Comment importer un commentaire HTML dans python?

Comment importer un commentaire HTML dans python? [résolu] - Python - Programmation

Marsh Posté le 22-04-2009 à 19:01:52    

Salut à tous,
 
J'ai commencé à apprendre python avec le livre de Gérard Swinnen Apprendre à programmer Python il y a très peu de temps. Je suis donc un parfait débutant. Merci pour votre indulgence.   :)  
 
Pour m'amuser, j'essaye le Challenge Python.
 
L'exercice 3 consiste à extraire des caractères dans un chaîne se trouvant dans le code source de la page...
Vous pouvez continuer à lire, je ne vais pas vous demander de faire l'exercice à ma place  :non:  
 
Je trouve cette chaine écrite sur plusieurs lignes de 80 caractères, mais j'ai constaté qu'elle était précédée de ce que je crois être une balise (<!--) et terminée par -->.
 
Pourriez-vous m'indiquer comment affecter l'ensemble de ses caractères à ma variable "a", car à part insérer des "\n" à la place des sauts de ligne, je n 'ai pas encore appris comment m'en sortir.
 
J'utilise Python 2.5.2 - Gedit 2.24.2 (Autocomplete 0.9.6 - Better Python Console) - Ubuntu 8.10
 
Merci


Message édité par samfav le 23-04-2009 à 20:51:28

---------------
Ubuntu 8.10 - Noyau Linux 2-6-27-11-generic - Gnome 2-24.1 - Ooo 3.0.1 - Python 2.5.2 - Gedit 2.24.2 (Autocomplete 0.9.6 - Better Python Console) - Firefox 3.0.8
Reply

Marsh Posté le 22-04-2009 à 19:01:52   

Reply

Marsh Posté le 23-04-2009 à 10:14:11    

Je ne suis pas sûr de bien comprendre ce que tu cherches à faire.
Pour info, les balises <!-- et --> sont, en html, les balise qui servent à mettre un commentaire à l'intérieur d'une page.
En fait je ne vois pas le rapport entre ces balise et le fait de mettre des '\n' ... donc, soit j'ai rien compris (et donc ré-explique mieux stp), soit tu te mélange les pinceaux (et donc creuse un peu plus ton pb, fais des recherches).


---------------
By bob.
Reply

Marsh Posté le 23-04-2009 à 17:48:18    

:hello:  Merci à superbob56,
 
je vais approfondir ma question....  
 
- dans le Challenge Python (voir le lien), il faut résoudre des énigmes en éditant des petits scripts Python.
- dans ce niveau, il s'agit de trouver des caractères minuscules entourés de exactement trois caractères majuscules et de les isoler..., ce qui me donnera un code d'accès pour le niveau suivant.
- quand je vais dans le code source de la page je trouve ce commentaire (j'ai supprimer 99,9% des lignes...., il y en a 1250 de 80 caractères):

Code :
  1. <!--
  2. YnuYVpcecBbcKHdvzWYypHLjbkGUIdBNrKwkahKGSiwcurJSISKpVjYftIuiOtfRvywwXWOQERjqSFfz
  3. lrXosQbYuhjuAxhtgXtwbuTeucJVywKgtZyNnhjXRLLiHwMoPfpPPyAQZrFGfbzHgulXsmlxPFbWXpuT
  4. nkGetBrrcvGvlZSzHgKIoJOyMlZurWhDukuwqwZhvYKpKhmLaAeCPMPELAgINyKqpOapcsKHhPfxFDJA
  5. HMkjYdCAmwocWSnEfogJCcGRcKfSjlJMiTSRfPhDqVDEhkCSJNDmOiqXDGVaHzNYecLSWPNIWfBqrHfU
  6. duKBbdnrjUEeYwykGTBbbcmojJTDnpKNOSVViSLMMyBsoKjVHxVADCvLscWaqlJSTODptdPBjWFsBldq
  7. odhhExmXiUxapAkkDyVzhTSsQyJdPsaJrFNmNMnLxVYRDYpfqXUAxwKlZiKWWvJhjEVrwgzCsWoZFtCE
  8. kKjyaqbooOlNkAddgAazFlgKLjlXDGtlvRBYCYQiRfRIfWIYaLZxLrQzrYzBghYOKAaKgXmUpPkCaMmN
  9. GlAXokgPsdyUjsiaKSSoeCqMrMbQXeRZqkNeAQpujYJFGfbeceunpFNYjuUPiQVOZPXTKhiwPMLKZEKP
  10. NoEPPwXtRoVfGYIRyRgZWyJrMjuBQNchjZBNQUwSgIyXniXCMeXRfAcDKxskxYvMyRGyXeSlOFKFItyI
  11. FiUSskVfjqRXgqWOYHdDEWClkYXPjcAcuKkddJrDZqpFYYIlxACJHnfTTOUICdPhknncJRxdkMwSeSVS
  12. QdoxJeCJTcjDogRrnFsOIiHKlhyxucemEexjTFgKjdbffVxXqPQxLhdaawVKLxYRqeQGLhXqIeFykJUD
  13. MatBIGGTCbkQWAeYOYPoWRIHOSYZcStFGQpExtLKWcOwGMxNzgkbaqOMPkcHgudTOdQooljmZryWDUKG
  14. -->


- pour faire l'extraction des caractères remplissant les conditions, il me faut convertir toute cette chaîne en une variable 'string', mais comme l'ensemble de se commentaire comprend 1250 sauts de lignes, je me demande s'il est possible de dire à Python (dans Gedit) de ne pas tenir compte des sauts à la ligne en l'insérant entre deux balises comme cela se fait en HTML. Dans l'affirmative, quelle en serait la syntaxe?    :cry:  
 
En espérant que vous avez mieux compris ma question.
 
@+

Reply

Marsh Posté le 23-04-2009 à 20:49:18    

:lol:  j'ai trouvé  :whistle:  
 
A force de poser la question et de la retourner dans tous les sens, j'ai trouvé la solution:
 

Code :
  1. >>>a="""
  2. YnuYVpcecBbcKHdvzWYypHLjbkGUIdBNrKwkahKGSiwcurJSISKpVjYftIuiOtfRvywwXWOQERjqSFfz
  3. lrXosQbYuhjuAxhtgXtwbuTeucJVywKgtZyNnhjXRLLiHwMoPfpPPyAQZrFGfbzHgulXsmlxPFbWXpuT
  4. nkGetBrrcvGvlZSzHgKIoJOyMlZurWhDukuwqwZhvYKpKhmLaAeCPMPELAgINyKqpOapcsKHhPfxFDJA
  5. """
  6. >>>print a
  7. YnuYVpcecBbcKHdvzWYypHLjbkGUIdBNrKwkahKGSiwcurJSISKpVjYftIuiOtfRvywwXWOQERjqSFfz
  8. lrXosQbYuhjuAxhtgXtwbuTeucJVywKgtZyNnhjXRLLiHwMoPfpPPyAQZrFGfbzHgulXsmlxPFbWXpuT
  9. nkGetBrrcvGvlZSzHgKIoJOyMlZurWhDukuwqwZhvYKpKhmLaAeCPMPELAgINyKqpOapcsKHhPfxFDJA


 
Le triple quote permet de mettre une chaîne string sur plusieurs lignes.
 
Dans le cours de Gérard Swinnen, Apprendre à programmer Python, au chapitre 5.2.1 il présente le triple quote, mais je pensais qu'il fallait indenter les lignes comme dans un bloc d'instructions. Ce n'est pas le cas et j'en suis très heureux.
 
Merci beaucoup à superbob56 qui m'a mis sur la voie en me disant que <!-- et --> entouraient un commentaire en HTML. C'était déjà un très bon indice. D'autre part, il m'a permis d'aller plus loin dans ma réflexion, et voici le résultat!!!!!


Message édité par samfav le 23-04-2009 à 23:54:49

---------------
Ubuntu 8.10 - Noyau Linux 2-6-27-11-generic - Gnome 2-24.1 - Ooo 3.0.1 - Python 2.5.2 - Gedit 2.24.2 (Autocomplete 0.9.6 - Better Python Console) - Firefox 3.0.8
Reply

Marsh Posté le 24-04-2009 à 10:27:50    

Content que tu aies résolu ton pb. Bon courage pour la suite.


---------------
By bob.
Reply

Marsh Posté le 24-04-2009 à 15:44:07    

:wahoo:   Encore un tout grand merci à toi et peut-être à bientôt sur le forum.  :hello:


---------------
Ubuntu 8.10 - Noyau Linux 2-6-27-11-generic - Gnome 2-24.1 - Ooo 3.0.1 - Python 2.5.2 - Gedit 2.24.2 (Autocomplete 0.9.6 - Better Python Console) - Firefox 3.0.8
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed