我有以下代码。我正在使用byteplay编译代码并且代码编译,dis.dis(c)
工作正常,但marshal.dump()
错误:
ValueError: unmarshallable object
知道我在这里做错了吗?
code.append((RETURN_VALUE, None))
c = Code(code, [], [], False, False, False, str(Symbol.intern(self.getNS().__name__, "<string>")), "<str>", 0, None)
import marshal
import pickle
import py_compile
import time
import dis
dis.dis(c)
codeobject = c.to_code()
with open('output.pyc', 'wb') as fc:
fc.write(py_compile.MAGIC)
py_compile.wr_long(fc, long(time.time()))
marshal.dump(c, fc)
答案 0 :(得分:0)
我不是byteplay
的专家,但不应该是:
codeobject = c.to_code()
...
marshal.dump(codeobject, fc)