stalecucumber
stalecucumber copied to clipboard
Pickle Machine failed on opcode:0x81
err: Pickle Machine failed on opcode:0x81. Stack size:1. Memo size:0. Cause:Input encountered opcode that is not implemented
i need unpickle an instance of a Python object with golang now, can you help me fix it out?
If you can provide example python code that generates a pickled object containing this byte code I may be able to help.
Pickle Machine failed on opcode:0x80. Stack size:0. Memo size:0. Cause:Unsupported version #3 detected
python (3.6.5):
with open("pickletest.pkl","wb") as f:
f.write(pickle.dumps([1,1,1]))
golang (1.11.2):
package main
import (
"fmt"
"github.com/hydrogen18/stalecucumber"
"os"
)
func main(){
//var somePickleData io.Reader
file,err:=os.Open("./static/pickletest.pkl")
if err !=nil{
_ =file.Close()
panic(err)
}
numbers:=make([]interface{},0)
err =stalecucumber.UnpackInto(&numbers).From(stalecucumber.Unpickle(file))
if err !=nil{
fmt.Println(err)
}
fmt.Println(numbers)
}
error:
Pickle Machine failed on opcode:0x80. Stack size:0. Memo size:0. Cause:Unsupported version #3 detected
[]
Pickle Machine failed on opcode:0x80. Stack size:0. Memo size:0. Cause:Unsupported version #3 detected
python (3.6.5):
with open("pickletest.pkl","wb") as f: f.write(pickle.dumps([1,1,1]))
golang (1.11.2):
package main import ( "fmt" "github.com/hydrogen18/stalecucumber" "os" ) func main(){ //var somePickleData io.Reader file,err:=os.Open("./static/pickletest.pkl") if err !=nil{ _ =file.Close() panic(err) } numbers:=make([]interface{},0) err =stalecucumber.UnpackInto(&numbers).From(stalecucumber.Unpickle(file)) if err !=nil{ fmt.Println(err) } fmt.Println(numbers) }
error:
Pickle Machine failed on opcode:0x80. Stack size:0. Memo size:0. Cause:Unsupported version #3 detected []
pickle.dumps(xxxx,2),sloved.