【发布时间】:2017-12-29 00:14:12
【问题描述】:
谁能帮我解决这个奇怪的问题?
https://travis-ci.org/ezored/ezored/jobs/322719711
在测试日志上,我打印:
当前数据:
['标志']
['标志']
那是行:
new_target_data.c_flags.extend(['flag'])
print('Current data:')
print(target_data.c_flags)
print(new_target_data.c_flags)
问题是当我扩展 "new_target_data.c_flags" 时。 “target_data.c_flags” 应用了相同的数据。它们是不同的对象,您可以在日志中查看内存引用:
<ezored.models.target_data.TargetData object at 0x2b59c0673590>
<ezored.models.target_data.TargetData object at 0x2b59c0673510>
带有测试代码的文件在这里(方法test_merge_target_data):
https://github.com/ezored/ezored/blob/issue_1/tests/models/test_target.py#L76
有人了解这个问题吗?我做错了什么?
【问题讨论】:
-
其中一个很可能是另一个的影子副本,请提供这些项目的定义方式。
-
嗨。它在帖子链接上。只需单击即可转到完整文件。但它已经得到了回答。
-
我们不需要查看您的整个代码库来查找您可以在问题中轻松定义的内容。我要求您在问题中提供它们,因为问题应该是独立的。
-
好吧,别担心。我想我输入了所有人都能理解的所有内容。用户“schwobaseggl”在这种模式下理解我提出并解决了问题。谢谢。
标签: python memory duplicates