2010-11-04 26 views
1

En PHP, je peux le faire:Python - imprimer jusqu'au marqueur (à la PHP)?

print <<<END 
This uses the "here document" syntax to output 
multiple lines 
END; 

Est-il possible de faire quelque chose de similaire en Python?

Je veux vider un gros morceau de HTML sans me soucier de m'échapper, par exemple. équerres.

+1

"sans vous soucier de vous échapper"? Quelle? De quoi es-tu inquiet? Python n'est pas PHP et n'est pas intégré dans une page Web où <, > et & matter. De quoi parlez-vous? –

+0

Je pense échapper à tout ce qui pourrait être traité non-verbatim par l'analyseur python. Citations peut-être? Quoi qu'il en soit, je pense que la réponse de @Mark est ce que je cherche. –

+0

"Citations peut-être?" Peut être? Quel genre de citations avez-vous des problèmes? Quel tutoriel Python utilisez-vous? C'est bien, bien couvert dans presque tous les tutoriels. S'il vous plaît fournir le titre ou un lien vers le tutoriel que vous utilisez cette mention omis de chaînes. –

Répondre

4

Python ne possède pas d'hérédocs avec des marqueurs de début/de fin arbitraires. Vous pouvez utiliser des triples guillemets (simples ou doubles) pour obtenir quelque chose de très similaire:

print ''' 
This uses the "here document" syntax to output 
multiple lines 
''' 

Ajouter un r pour en faire une chaîne brute de sorte que la barre oblique inverse est également pas traitée spécialement. r'''....'''

+1

La différence est que vous commencez avec \ n ici. –

+2

@Antoine Pelisse: La nouvelle ligne peut être omise, mais cela détruit la belle disposition alignée à gauche dans le code source. Vous pouvez supprimer les retours à la ligne inutiles lors de l'exécution à l'aide d'une bande, mais cela diminue les performances. Vous pouvez utiliser une barre oblique inverse sur la première ligne pour échapper à la nouvelle ligne ''' '\' mais vous ne pouvez pas utiliser de chaîne brute. Donc, en bref, la réponse est «Non, Python n'a pas exactement cette fonctionnalité, mais vous pouvez être très proche. –

+1

Vous pouvez faire '' '' \ 'sur la première ligne si le retour à la ligne initial vous dérange. Parfois, nous faisons même ''' 'quelque chose de long' '' .strip()' pour supprimer les retours à la ligne. –