Je veux créer de beaux documents d'audition comme Ruby << ~
en Python!
Extrait du Manuel de référence de Ruby 2.4.0 »Reteral» Here Document (Line-Oriented String Literal)
En écrivant l'étiquette de départ avec
~
like<< ~ identifiant
, vous pouvez rédiger le document d'audition suivant. (Omis) Supprimez les espaces au début de chaque ligne, par rapport à la ligne avec le moins d'indentation. Notez que les lignes constituées principalement de tabulations et d'espaces sont ignorées pour déterminer la profondeur de l'indentation. Cependant, les tabulations et les espaces échappés sont traités de la même manière que les caractères normaux.
ruby
sayaka = 'Sayaka Miki'
kyoko = 'Sakura Kyoko'
str = <<~HEREDOC
<div>
<ul>
<li>#{sayaka}</li>
<li>#{kyoko}</li>
</ul>
</div>
HEREDOC
puts(str)
stdout
<div>
<ul>
<li>Sayaka Miki</li>
<li>Sakura Kyoko</li>
</ul>
</div>
**Et c'est parti! Viens vrai, incubateur! !! ** **
python
def heredoc(str):
from textwrap import dedent
return dedent(str).strip()
if __name__ == '__main__':
sayaka = 'Sayaka Miki'
kyoko = 'Sakura Kyoko'
str = heredoc(f'''
<div>
<ul>
<li>{sayaka}</li>
<li>{kyoko}</li>
</ul>
</div>
''')
print(str)
stdout
<div>
<ul>
<li>Sayaka Miki</li>
<li>Sakura Kyoko</li>
</ul>
</div>
textwrap.dedent () et str.strip () 3 / library / stdtypes.html # str.strip) est également disponible!
textwrap.dedent ()
.