我看过很多文章,但它们没有完全解决我所需求的问题。希望这不是一个重复的问题。
我正在编写一个Python脚本,它与我个人电脑之外的几个真实世界对象进行交互。我编写了包含必要函数以与这些对象进行交互的类。我也成功编写了一个函数(风格上不太面向对象),它实例化那些类的实例,从它们获取数据,并将所有数据保存到CSV文件中。一切正常。我现在遇到的问题是尝试让该函数更加灵活,以便每次添加另一个类实例或从已存在的实例获取不同的数据点时都不必重新编写代码。
我的思路是创建一个列表,其中包含类实例的名称和获取这些实例数据的特定函数名称。然后将此列表传递给另一个函数。这个其他函数理想情况下会为我的CSV文件创建一个标题(以便更容易解释数据),然后继续收集数据。
伪代码:
如果我将control_list中的所有元素作为字符串传递给函数,我可以很容易地为结果文件生成标题,但我无法弄清如何使用这些字符串生成类似
我正在编写一个Python脚本,它与我个人电脑之外的几个真实世界对象进行交互。我编写了包含必要函数以与这些对象进行交互的类。我也成功编写了一个函数(风格上不太面向对象),它实例化那些类的实例,从它们获取数据,并将所有数据保存到CSV文件中。一切正常。我现在遇到的问题是尝试让该函数更加灵活,以便每次添加另一个类实例或从已存在的实例获取不同的数据点时都不必重新编写代码。
我的思路是创建一个列表,其中包含类实例的名称和获取这些实例数据的特定函数名称。然后将此列表传递给另一个函数。这个其他函数理想情况下会为我的CSV文件创建一个标题(以便更容易解释数据),然后继续收集数据。
伪代码:
inst1 = my_class_1()
inst2 = my_class_2()
filename = 'fubar.csv'
control_list = ['inst1', 'value1', 'inst2', 'value']
my_fucntion(filename, control_list):
# Code to create a header for CSV file in the form inst1-value1, inst2-value2
# Loop to control the number of times to grab data
# Code which iterates control_list and builds up things like inst1.value1(), inst2.value2(),
# etc. and then appends the results to a list
# write results list to filename
如果我将control_list中的所有元素作为字符串传递给函数,我可以很容易地为结果文件生成标题,但我无法弄清如何使用这些字符串生成类似
inst1.value1()
的东西,以便Python可以访问我的类中的函数。我认为如果我创建像[inst1.value1(), inst2.value2()]
这样的列表,就可以从我的类中获取数据,但我无法用这种方式创建我的标题文件。如果上述方法不起作用,我也可以尝试其他方法。