EOL错误,错在哪里?

EOL error, where is the mistake?

我试图让pyton执行这个,但它一直显示EOL err,这里的错误在哪里?

exec("a = \"def f(s):\n try:\n  exec(s)\n except: Exception\n print('Error')\"\nb = \"while True: f(input(''))\"\nexec(a)\nexec(b)")

这段代码是我试图将这两个 exec 行合并为 1 的结果,也许有更好的方法来做到这一点,有那两个 exec 行:

exec("def f(s):\n try:\n  exec(s)\n except: Exception\n print('Error')")
exec("while True: f(input(''))")

您正在尝试做什么 smells horrible,Python-wise。但从技术上讲,您的代码中有一个多行字符串文字,它必须用三引号引起来:

exec("a = '''def f(s):\n try:\n  exec(s)\n except: Exception\n print('Error')'''\nb = \"while True: f(input(''))\"\nexec(a)\nexec(b)")

您的代码中还有一些其他的字符串错误。