Ich möchte schöne Hördokumente wie Rubys << ~
in Python erstellen!
Aus Ruby 2.4.0 Referenzhandbuch »Reteral» Hier Dokument (zeilenorientiertes String-Literal)
Indem Sie das Startetikett mit
~
like<< ~ identifier
schreiben, können Sie das folgende Anhörungsdokument schreiben. (Weggelassen) Entfernen Sie Leerzeichen am Anfang jeder Zeile relativ zur Zeile mit der geringsten Einrückung. Beachten Sie, dass Linien, die hauptsächlich aus Tabulatoren und Leerzeichen bestehen, ignoriert werden, um die Tiefe der Einrückung zu bestimmen. Escape-Tabulatoren und Leerzeichen werden jedoch genauso behandelt wie normale Zeichen.
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>
**Auf geht's! Werden Sie wahr, Inkubator! !! ** ** **
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 () und str.strip () 3 / library / stdtypes.html # str.strip) ist ebenfalls verfügbar!
textwrap.dedent ()
.