我正在尝试使用safe_substitution
中的string.py
类模板类将$keywords
替换为我自己的文本。麻烦的是,在某些情况下,我想插入一个包含换行符的文本块,但是该块中的所有行都与$keyword
所处的级别具有相同的缩进级别。当我现在这样做时,第一行保持相同的缩进级别,但以下行都没有缩进。
(编辑)例如:
>>> from string import Template
>>> s = 'No indent\n $indented'
>>> print(s)
No indent
$indented
>>> t = Template(s)
>>> print(t.safe_substitute(dict(indented='First Indent')))
No indent
First Indent
>>> print(t.safe_substitute(dict(indented='First Indent\nSecond Indent')))
No indent
First Indent
Second Indent
>>>
我知道safe_substitute的行为正如它应该的那样,因为它只是在找到$ indented时插入文本字符串,然后当它到达换行符时它找不到其他空格,因此没有缩进。我想知道最流行的方法是让前面的所有行都有相同的空格。