You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除Python多行缩进字符串的缩进并转为单行输出?

解决多行缩进字符串转为单行的问题

要将Python中带缩进的多行字符串移除缩进并展开为单行,你可以通过以下几种方法实现:

方法一:逐行处理后拼接

该方法适用于任何缩进情况(包括每行缩进不一致的场景):

  • 将字符串按换行符分割为多行
  • 对每行去除首尾空白字符
  • 过滤掉空行后,用空格将所有有效行拼接成单行

示例代码:

def foo():
    cmd = '''ls
                 /usr/bin
                 /usr/sbin
                 /usr/local/bin'''
    # 处理字符串:去除换行和每行的首尾空白,拼接为单行
    processed_cmd = ' '.join(line.strip() for line in cmd.splitlines() if line.strip())
    print(f'{processed_cmd=}')

foo()

运行输出:

processed_cmd='ls /usr/bin /usr/sbin /usr/local/bin'

方法二:使用textwrap.dedent(适用于统一缩进场景)

如果所有行的缩进量一致,可以先用textwrap.dedent移除所有行的共同前置空白,再替换换行符为空格:

示例代码:

import textwrap

def foo():
    cmd = '''    ls
    /usr/bin
    /usr/sbin
    /usr/local/bin'''
    # 先移除统一缩进,再替换换行为空格
    processed_cmd = textwrap.dedent(cmd).replace('\n', ' ')
    print(f'{processed_cmd=}')

foo()

运行输出:

processed_cmd='ls /usr/bin /usr/sbin /usr/local/bin'

内容的提问来源于stack exchange,提问作者Timur Shtatland

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 18:40:00