>>> def func():x,y,z=f()
...
>>> import dis
>>> dis.dis(func)
1 0 LOAD_GLOBAL 0 (f)
3 CALL_FUNCTION 0
6 UNPACK_SEQUENCE 3
9 STORE_FAST 0 (x)
12 STORE_FAST 1 (y)
15 STORE_FAST 2 (z)
18 LOAD_CONST 0 (None)
21 RETURN_VALUE
Looking at how unpacking works it looks like the error is raised at UNPACK_SEQUENCE
step, means before storing any value, so I guess you can't recover the returned values.