在 Python 中,如何从 argparse 深度复制命名空间对象 "args"

In Python, how to deep copy the Namespace obj "args" from argparse

我从 argparse 得到了 "args":

args = parser.parse_args()

我想将它传递给两个不同的函数,每个函数都稍作修改。这就是为什么我想深度复制 args,修改副本并将它们传递给每个函数。

然而,copy.deepcopy 就是行不通。它给了我:

TypeError: cannot deepcopy this pattern object

那么正确的做法是什么?谢谢

我自己想出了一个办法:

args_copy = Namespace(**vars(args))

不是真正的深拷贝。但至少 "deeper" 比:

args_copy = args
import copy
args = parser.parse_args()
args_copy = copy.deepcopy(args)

使用 Python 2.7.15

测试