在 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
测试
我从 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
测试