gpt4 book ai didi

linux - 针对存储在数据库中的脚本执行 python

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:25:33 25 4
gpt4 key购买 nike

  • 数据库:mysql
  • 语言:python
  • 框架:
  • Django
  • 操作系统:Linux (ubuntu)

你好,

有没有办法针对存储在数据库中的脚本内容执行 python?例如,文件的内容存储在数据库列文本中。唯一的解决方案是创建一个临时文件,将数据库中的内容转储到文件中,然后对其运行 python os 命令吗?我假设需要存储已执行脚本的内容,以便转义引号等。

我愿意听取关于使用什么数据库来实现我的目标的建议。 MySQL 在存储文件内容之前需要额外的包装器,并可能应用其他包装器来回复 qoutes/datetime/etc。

请告知是否需要其他信息,但本质上我希望将 python 脚本内容存储在数据库中,检索它并针对 python 解释器运行它。

提前感谢您的任何建议。

最佳答案

您可以使用内置函数compile

s = """def f(x):
return x + x

print(f(22))
"""

code = compile(s, "string", "exec")

exec(code)
# OUT: 44

虽然我想知道您是否不能只存储一个数据结构并将其与一些预定义代码一起使用。以这种方式执行任意代码可能很危险,并且存在安全风险。

关于linux - 针对存储在数据库中的脚本执行 python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13425743/

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