![](/img/trans.png)
[英]Python copy.deepcopy() fails without raising warning, exception or error
[英]copy.deepcopy() of a _wmi_object results in Exception
我在Python中使用WMI 1.4.9来访问WMI。
我想对_wmi_object做一个深层复制,它是我在python中使用wmi模块执行的WQL的一部分返回的。
我的代码如下所示,
aproc = wmi.WMI(moniker=self._wmi_namespace).query("SELECT * FROM Win32_Process WHERE Name = 'svchost.exe'")[0]
copiedproc = copy.deepcopy(aproc)
但是,当执行deepcopy(..)
时,出现此异常。
object.__new__(PyIDispatch) is not safe, use PyIDispatch.__new__()
我不想维护引用,而是希望在存储和使用对象之前将对象进行深复制。
可能吗?
PyIDispatch无法复制。 只能创建新的IDispatch派生对象。
如果使用python WMI模块,则只能创建一个新的WMI对象,并将旧对象的属性一一复制到新对象中。
例如,创建一个新的Win32_Process实例,
newproc = wmi.WMI().Win32_Process.new()
然后,使用较旧实例的属性更新该实例的每个属性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.