使用配置文件指定要在 Python 中执行的操作

fri*_*cat 5 python config configuration-files configparser

我正在尝试使用配置文件、python 和 ConfigParser 构建动态操作。我对 Python 还很陌生(两周前),所以我不确定这是否可能,这就是我想问的原因。

这是一个示例配置文件:

[General]
Volume File = C:\Users\O\Desktop\Sanjeev\Python\Solution\volume.xlsx
New Variables File = C:\Users\O\Desktop\Sanjeev\Python\Solution\newvar.xlsx
Desired Variable Name = Price,Age
Merging Variables = Category,State
[Operations]
Operation1 = Price*Volume,Revenue
Operation2 = Revenue/Age,Annual Revenue
Run Code Online (Sandbox Code Playgroud)

因此,在这里我将使用合并变量来合并第一个和第二个数据集,保留并可能聚合所需的变量。然后,根据操作部分中指定的操作,我将执行它们并将它们存储在与列表中第二项同名的变量中。

我想在配置文件而不是 python 脚本中指定这些操作的原因是因为这些操作的数量和类型会有所不同。我需要创建动态代码,该代码能够解析配置文件中的此选项,就好像它是代码一样并执行它。

我想要一些关于如何开始的指导。

Luc*_*fon 0

如果您熟悉面向对象编程,则可以使用设计模式“工厂” https://en.wikipedia.org/wiki/Factory_method_pattern进行代码自省。

否则,您可以查看evalexec函数:https://docs.python.org/3/library/functions.html#eval

以下是使用 eval 函数的示例:

>>> first_parameter = 10
>>> second_parameter = 2
>>> result = eval("first_parameter * second_parameter")
>>> result
20
Run Code Online (Sandbox Code Playgroud)