And*_*sen 5 python namespaces copy python-3.x
我期望能够做类似的事情:
a = SimpleNamespace(x='test')
b = a.copy()
Run Code Online (Sandbox Code Playgroud)
或许:
b = SimpleNamespace(a)
Run Code Online (Sandbox Code Playgroud)
我当前的解决方案似乎很好用
b = SimpleNamespace(**a.__dict__)
Run Code Online (Sandbox Code Playgroud)
但是它看起来有些古怪。还有更“正确”的方法吗?
我不需要深复制。
小智 3
我想使用 SimpleNamespace 进行深度复制。一种简单易读的方法是使用复制模块。
new_namespace = copy.copy(namespace)
Run Code Online (Sandbox Code Playgroud)
或者
new_namespace = copy.deepcopy(namespace)
Run Code Online (Sandbox Code Playgroud)
取决于你的需要。