f = ["\"for i in range(0,3): print(i)\"", '\'\'', "\"exec\""]
print(f[0], f[1], f[2]) // 正确打印 "for i in range(0,3): print(i)" '' "exec"
g = compile("for i in range(0,10): print(i)", "", "exec") // 这样可以正确执行
h = compile(f[0], f[1], f[2]) // 错误ValueError: compile() arg 3 must be 'exec', 'eval' or 'single
为什么第二个方法不能正确执行?f[3]是"exec",是不是编码格式或者list有关?请老师指点,谢谢。
f = ["\"for i in range(0,3): print(i)\"", '\'\'', "exec"] # "exec"非 '"exec"'
print(f[0], f[1], f[2])
g = compile("for i in range(0,10): print(i)", "", "exec")
h = compile(f[0], f[1], f[2]) # 错误ValueError: compile() arg 3 must be 'exec', 'eval' or 'single
python3.7 win10 64 运行通过
以后贴代码请贴代码片。