我寫了一個腳本,你基本上可以減少到以下幾點:如何在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明白它不只是一個字符串,但我希望使用我的腳本中定義的函數。
因此,我有兩個問題:
- 我可以只寫一個骯髒的解決方法,節省了變量[「Readfunction」]作爲字符串的文件時,重讀它作爲字符串寫入匹配功能名稱的功能字符串到函數。有沒有更好的辦法?
- 整個建築是否無意義?我是否應該以完全的其他方式來構建它以避免這個問題?我不是一個程序員,所以你應該如何以適當的方式來做這樣的事情?該程序已經複雜到完全重寫,所以這更多的是關於下次學習。
OP說他希望文件是人類可讀的。 「pickle」文件不是這樣,是嗎? – saulspatz