我正在尝试让pyton执行此操作,但它始终显示EOL错误,这里的错误在哪里?
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(''))")
答案 0 :(得分:2)
您要尝试做的事情smells horrible(Python方面)。但是从技术上讲,您的代码中包含多行字符串文字,并且必须用三引号将其括起来:
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)")
字符串中的代码中还有其他错误。