我将变量self.data_counter
存储在另一个变量prev_counter_data
中时遇到问题。我根本无法存储当前值-我分配给self.data_counter
的变量总是以某种方式具有完全相同的值。
class SimpleSwitch(app_manager.RyuApp):
def __init__(self, *args, **kwargs):
super(SimpleSwitch, self).__init__(*args, **kwargs)
self.data_counter = {}
self.monitor_thread = hub.spawn(self._monitor)
def _monitor(self):
timer = 0
prev_data_counter = self.data_counter
while True:
hub.sleep(5)
timer = timer + 5
# assign current values to self.data_counter in func()
func()
# compare current values to previous values
if (timer%60) == 0:
prev_data_counter = self.data_counter
任何想法我的思想缺陷在哪里?为什么prev_data_counter
总是等于self.data_counter
?
[当您执行self.prev_data_counter = self.data_counter
时,我们说它们是同一对象。
尝试:
self.prev_data_counter = copy.copy(self.data_counter)
并添加复印包:import copy