【问题标题】:How to "correctly" copy a types.SimpleNamespace object?如何“正确”复制 types.SimpleNamespace 对象?
【发布时间】:2017-06-19 11:42:23
【问题描述】:

我期待能够做类似的事情:

a = SimpleNamespace(x='test')
b = a.copy()

或者也许:

b = SimpleNamespace(a)

我目前的解决方案似乎工作正常

b = SimpleNamespace(**a.__dict__)

但它看起来有点老套。有没有更“正确”的方式?

我不需要深拷贝。

【问题讨论】:

  • 您当前的解决方案在我看来非常合理。
  • @khelwood Idk,要求__dict__ 似乎有点可疑。也许不是。
  • 如果它困扰你,为什么不b = SimpleNamespace(**vars(a))

标签: python python-3.x namespaces copy


【解决方案1】:

我想对 SimpleNamespace 进行深度复制。一个简单易读的方法是使用复制模块。

new_namespace = copy.copy(namespace)

new_namespace = copy.deepcopy(namespace)

取决于你需要什么。

【讨论】:

    猜你喜欢
    • 2018-07-05
    • 2013-01-13
    • 2014-12-24
    • 2014-05-12
    • 2015-07-23
    • 2018-10-18
    • 2015-04-24
    • 2011-05-01
    • 1970-01-01
    相关资源
    最近更新 更多