首頁  >  文章  >  後端開發  >  Python 可以從多行字串中刪除全域縮排嗎?

Python 可以從多行字串中刪除全域縮排嗎?

DDD
DDD原創
2024-10-24 12:15:29938瀏覽

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