【发布时间】:2017-03-07 23:09:58
【问题描述】:
我有一个配置文件,其中的参数是 sin 和 cos 的函数。为方便起见,将这些参数简单地编码为定义它们的表达式而不是它们的结果值对我很有用。
如果我使用 .py 配置文件,这显然是受支持的,但我正在调查使用 config.py Python 模块。然而,看起来虽然这个模块允许使用自定义命名空间,但它只允许评估命名空间中的属性,而不是函数调用。例如,如果我将 numpy 命名空间添加为 np,则允许这样做:
pi: `np.pi`
但这不是:
x: 0.1
sin_of_x: `np.sin($x)`
我猜这是出于安全原因,因此恶意用户无法通过添加具有恶意功能的命名空间来插入恶意代码。有没有办法解决这个问题,或者python作为配置文件的方法是唯一的选择吗?
【问题讨论】:
标签: python configuration config