多行字符串往往会涉及到去除缩进的问题,比如发送的消息内容为 Markdown,如果不对缩进进行处理,显示的内容就完全不一样了。
1. textwrap.dedent
第一种方式就是使用 textwrap.dedent
函数来对多行字符串去除缩进,该函数的功能是去除行首和行尾的空格和缩进,其余行会与首行保持原有结构。
import textwrap
content = '''
实时新增用户反馈<font color=\"warning\">132例</font>,请相关同事注意。\n
> 类型:<font color=\"comment\">用户反馈</font>
# h1
## h2
<font color="info">绿色</font>
'''
print(textwrap.dedent(content))
打印内容:
实时新增用户反馈<font color="warning">132例</font>,请相关同事注意。
> 类型:<font color="comment">用户反馈</font>
# h1
## h2
<font color="info">绿色</font>
:::tips 💡 注意点:
- 当我们使用
textwrap.dedent
方式来去除多行字符串的缩进时,一定要注意调整其余内容与首行的结构。 - 当首行比其余行缩进更多时,会以最先缩进到行首的那一行为准,保持原结构。
:::
2. inspect.cleandoc
第二种方法就是使用inspect.cleandoc
函数,功能与textwrap.dedent
几乎一致。 ```python import inspect
content = ‘’’ 实时新增用户反馈132例,请相关同事注意。\n
> 类型:<font color=\"comment\">用户反馈</font>
# h1
## h2
<font color="info">绿色</font>
'''
print(inspect.cleandoc(content)) ```