我正在运行此代码:https://dpaste.de/RiAP
如您所见,变量linespecificpayload
仅在此函数中使用,但如果我检查ID,则在每个函数调用中都是相同的。
我似乎无法弄清楚如何在每次调用时刷新其值。对id(linespecificpayload)
的调用都返回相同的值。任何建议都会受到欢迎。
此外,代码是我在一两个小时内写的。所以可能不是最有效的。
答案 0 :(得分:0)
原因是您要将全局对象分配给linespecificpayload
,因此引用保持不变。
如果您想创建filespecificpayload
字典的副本,可以:
使用filespecificpayload.copy()
。这将创建dict的副本,但复制前存在的值将被共享,以便id(filespecificpayload[key]) == id(filespecificpayload.copy()[key])
使用copy.deepcopy()
:
>>> from copy import deepcopy
>>> d = deepcopy(filespecificpayload)
>>> id(d[key]) == id(filespecificpayload[key])
False