从每行的开头删除制表符和空格

Ric*_*ter 2 python python-3.x

我有包含代码的字符串,前面可以有空格(制表符和空格):

        for foo in bar:
            foo += 1
            for i in range(0, foo):
                print(foo * foo)
Run Code Online (Sandbox Code Playgroud)

由于空格在python中定义了范围,因此无法编译.那么,只有在每一行的开头都删除空格的唯一方法是,如果它出现在字符串中的每一行上,给出以下结果:

for foo in bar:
    foo += 1
    for i in range(0, foo):
        print(foo * foo)
Run Code Online (Sandbox Code Playgroud)

代码在同一个python程序中生成和编译,因此不允许其他工具.

ald*_*nor 8

标准库的textwrap.dedent功能完全符合您的要求.

https://docs.python.org/3/library/textwrap.html#textwrap.dedent