【发布时间】:2022-07-19 19:55:35
【问题描述】:
当我使用 exec() 方法执行外部 python 代码时:
i = 0
exec("i = 99\nprint(i)")
print(i)
输出:
99
99
我正在执行的代码更改了我原始程序中的变量 i。我可以使用什么替代方法来执行外部 python 代码来阻止这一点?考虑到我正在执行的代码是以字符串形式提供给我的,我无法控制它或其变量名。
执行相同代码时的期望输出:
99
0
【问题讨论】:
-
这是非常不安全的,你不应该盲目地以这种方式执行代码,尤其是其中一个原因,因为你刚刚发现的行为
标签: python