在每行的开头添加一些字符

Jer*_*meJ 11 python string indentation

我想在每行的开头添加一些字符.

我该怎么办?

我这样做:

'\n\t\t\t'.join(myStr.splitlines())

但它并不完美,我想知道是否有更好的方法来做到这一点.我原本想要自动缩进整个文本块.

Bri*_*ius 14

我认为这是一个非常好的方法.您可以改进的一件事是您的方法引入了前导换行符,并删除了任何尾随换行符.这不会:

'\t\t\t'.join(myStr.splitlines(True))
Run Code Online (Sandbox Code Playgroud)

来自文档:

str.splitlines([keepends])

返回字符串中的行列表,在行边界处断开.此方法使用通用换行方法来分割线.除非给出keepends且为true,否则换行符不包括在结果列表中.

此外,除非您的字符串以换行符开头,否则您不会在字符串的开头添加任何制表符,因此您可能也想这样做:

'\t\t\t'.join(('\n'+myStr.lstrip()).splitlines(True))
Run Code Online (Sandbox Code Playgroud)