我怎么总是将当前的variables值传递给一个Python函数?

我有一个项目,我希望用户在Excel表格中指定input参数,然后使用openpyxl将其读入到一个类中的多个函数中。 我的问题是,每当我在工作表中更改一个值时,我必须再次运行脚本以使更改生效。 由于我想以交互方式使用脚本并快速显示不同的值,这需要很长时间。

是否有另一种方法总是从表单中更改variables传递给函数?

这是我的代码:

class input: def __init__(self, vals=None): self.vals = vals self.wb = load_workbook("input.xlsx", data_only = True) self.ws = self.wb.get_active_sheet() def get_var(self): self.var = self.ws["B3"].value return self.var wb.save() input.input() 

在从Excel工作表中获取值之前,我已经将其他模块中的参数导入到主模块中。 我有同样的问题,但认为是由导入命令造成的。 我查看重装模块,但似乎没有解决问题。 然后,我介绍了我认为会做的function,但没有成功。

任何帮助,将不胜感激,谢谢!

你的代码的问题是你在保存任何东西之前返回,而你没有正确使用保存命令。 下面我提供了一些示例代码,它们将接受input,修改特定的单元格,然后保存该文件。 没有必要重新加载。 我还修改了一些variables/函数名称,因为input是一个内置函数,不应该用于类名称。 这只是为了告诉你如何使保存工作正常,因为我不知道你真的想要代码做什么。

 import openpyxl as op class excel: def __init__(self, vals=None): self.vals = vals self.wb = op.load_workbook("sample.xlsx", data_only=True) self.ws = self.wb.active def set_var(self, num): self.ws["A1"].value = num self.wb.save('sample.xlsx') print(self.ws["A1"].value) excel_file = excel() while True: a = input() excel_file.set_var(a)