На основе ответа Мэтта Томпсона: класс можно сделать вызываемым, чтобы он мог использоваться вместо функции:
import tkinter as tk
class Callback:
def __init__(self, func, *args, **kwargs):
self.func = func
self.args = args
self.kwargs = kwargs
def __call__(self):
self.func(*self.args, **self.kwargs)
def default_callback(t):
print("Button '{}' pressed.".format(t))
root = tk.Tk()
buttons = ["A", "B", "C"]
for i, b in enumerate(buttons):
tk.Button(root, text=b, command=Callback(default_callback, b)).grid(row=i, column=0)
tk.mainloop()
Вам нужно просто проверить, соответствует ли ввод одному из элементов serial_number
в словарях, а не всему словарю.
if any(c['serial_number'] == sn_input for c in config_parameters):
print("test1")
else:
print("wrong")