繁体   English   中英

_wmi_object的copy.deepcopy()导致异常

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM