Wenzel Jakob | 1c329aa | 2016-04-13 02:37:36 +0200 | [diff] [blame] | 1 | from __future__ import print_function |
| 2 | import sys |
| 3 | |
| 4 | sys.path.append('.') |
| 5 | |
| 6 | from example import Pickleable |
| 7 | |
| 8 | try: |
| 9 | import cPickle as pickle # Use cPickle on Python 2.7 |
| 10 | except ImportError: |
| 11 | import pickle |
| 12 | |
| 13 | p = Pickleable("test_value") |
| 14 | p.setExtra1(15) |
| 15 | p.setExtra2(48) |
| 16 | |
Wenzel Jakob | 81e0975 | 2016-04-30 23:13:03 +0200 | [diff] [blame] | 17 | data = pickle.dumps(p, 2) # Must use pickle protocol >= 2 |
Wenzel Jakob | 1c329aa | 2016-04-13 02:37:36 +0200 | [diff] [blame] | 18 | print("%s %i %i" % (p.value(), p.extra1(), p.extra2())) |
| 19 | |
| 20 | p2 = pickle.loads(data) |
| 21 | print("%s %i %i" % (p2.value(), p2.extra1(), p2.extra2())) |