gpt4 book ai didi

Python如何执行txt文件中的代码

转载 作者:行者123 更新时间:2023-11-30 23:08:28 25 4
gpt4 key购买 nike

我想将一段代码保存在 txt 文件中并从我的 Python 脚本中执行它。

例如txt文件中有

打印(“确定”)

我希望我的程序打印 ok 而不是打印 print("ok ")。我怎样才能做到这一点?

最佳答案

做你想做的事通常会带来安全风险,但也不一定如此。

您肯定必须通知用户潜在的风险。

有多个程序使用execfile()或compile()和exec语句来提供插件系统。

这并没有什么难看的,你只需要知道你在做什么、何时何地。

execfile()、eval() 和 exec 语句都允许您指定执行/评估代码的范围。

myscope = {}
execfile("myfile.txt", myscope)

这将防止新代码与旧代码混合。 myfile.txt 中的所有变量类、函数和模块都将包含在 myscope 字典中。

但这并不能阻止恶意代码从您的磁盘或类似内容中删除所有文件。

Python 2 有一个很好的模块,称为 rexec,但从 Python 2.2 开始,它不再起作用。

它在受限环境中实现了 execfile() exec 语句和 eval()。尽管它不起作用,但它就在那里,您可以深入研究代码以了解它是如何完成的。

因此,您会看到,可以只允许从外部源执行安全代码(尽可能安全)。

还有另一种方法。您可以加载该文件,从中编译代码,然后检查它以查看其功能。然后说,是的,我会执行它,或者不,我不会。然而,这需要更多的工作和很多复杂性。

但是,我认为没有必要经历所有这些事情。请详细说明您的问题。关卡编辑器到底是什么意思?我不认为外部代码是解决这个问题的方法。

关于Python如何执行txt文件中的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31704916/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com