在 Python 中序列化流程实例

Serializing a process instance in Python

我想序列化一个 class 对象,以便我可以通过串行连接将它发送到另一台设备。

对象看起来像这样:

class runningprocesses(object):
    def __init__(self):
        self.processes = WMI.InstanceOf('Win32_Process')

我正在尝试使用 pickle 将其序列化并将其存储到一个变量中,以便我可以将其发送出去,但是每当我尝试对该对象进行 pickle 时,我都会收到错误消息。 (类型错误:无法腌制 PyIDispatch 对象)

myrunningprocesses = runningprocesses()
temp = pickle.dumps(myrunningprocesses)

如有任何建议,我们将不胜感激。

Python 中的某些类型本质上是不可序列化的,进程肯定是其中之一。进程不会 运行 处于真空状态 - 它们具有许多属性,例如用户身份或身份、打开的文件等。你不能把所有这些都包装起来,然后根据需要重新构造它们。

你对pickle的能力有点乐观。