首页  >  文章  >  后端开发  >  Python 可以从多行字符串中删除全局缩进吗?

Python 可以从多行字符串中删除全局缩进吗?

DDD
DDD原创
2024-10-24 12:15:29930浏览

Can Python Remove Global Indentation from Multiline Strings?

在 Python 中删除多行字符串的全局缩进

在 Python 中,您可能会遇到需要删除具有全局左缩进的多行字符串。当在函数或其他引入额外缩进的代码块中声明字符串时,可能会发生这种情况。

问题:

Python 是否提供了可以删除缩进的内置函数多行字符串的全局缩进?

答案:

虽然没有用于此特定任务的内置函数,但 Python 标准库通过 textwrap 提供了解决方案.dedent() 函数。

textwrap.dedent() 将多行字符串作为输入并删除其所有行的公共缩进。这允许您删除任何不需要的全局缩进。

示例:

考虑以下具有全局 4 空格缩进的字符串:

<code class="python">s = """
    Controller = require 'controller'

    class foo
        view: 'baz'
        class: 'bar'

        constructor: ->
            Controller.mix @
"""</code>

使用 textwrap.dedent(),您可以按如下方式删除全局缩进:

<code class="python">import textwrap

result = textwrap.dedent(s)</code>

这将产生以下删除缩进的输出:

Controller = require 'controller'

class foo
    view: 'baz'
    class: 'bar'

    constructor: ->
        Controller.mix @

以上是Python 可以从多行字符串中删除全局缩进吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn