[英]How to save a function as input parameter in python?
我编写了一个脚本,基本上可以简化为以下脚本:
def Readhtml(a,b):
read some values from an html file
return a list of values
def ReadSQL(a,b):
Read some values from an SQL Database
return a list of values
def mainfunction(Variable):
result = Variable['Readfunction'](Variable['Parameter1'],Variable['Parameter2']) #Variable['Readfunction'] is the function Readhtml or ReadSQL
return result
其中Variable
是带有输入参数集的字典。
其中一些输入参数是用于读取值或对其进行操作的函数。 我有大量不同的变量(大约1000个),每个变量都有一个关联的字典。 只要在脚本的开头定义输入字典,一切就可以正常工作。 但是我希望能够重用那些字典,从而将它们保存到一个/多个人类可读可写的输入文件中。 问题是我无法弄清楚如何保存/读取字典条目Variable['Readfunction']
的方式是python理解这不仅是字符串,而且是我要使用的脚本中定义的函数。
因此,我有两个问题:
将定义移至另一个脚本并导入该脚本。 困难在于名字。 如果调用脚本说“ definitions.py”,则在脚本顶部编写
import definitions as defn
那么您必须将变量引用为defn.Readhtml
等。 您可以使用
from definitions import *
然后您不必限定名称,而是使用“疯狂的方式”,因为您无法确定在哪个模块中定义了哪些名称。
因此,我认为这将满足您的要求,但可能需要大量重写,具体取决于您的脚本是什么样的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.