逐字字符串中的缩进规则

2024-05-16 02:41:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试复制粘贴并运行基本上如下所示的python代码:

mycode = """
    def f():
        print("f called")

    f()
"""

eval(mycode)

然后出错

  File "<string>", line 2
    def f():
    ^
IndentationError: unexpected indent

如果我把缩进改成

mycode = """
def f():
    print("f called")

f()
"""

那我就错了

  File "<string>", line 2
    def f():
      ^
SyntaxError: invalid syntax

我想运行的是一个坏代码,还是我可以通过某种方式修复它? 最初的代码应该是可以“按原样”运行的,没有任何修改。你知道吗

我在iPython3.6.0中试过这个


Tags: 代码stringdefevallinefileprintindent