From ca2d2737813085ff9bfb83572dcb7429a00fbfe1 Mon Sep 17 00:00:00 2001 From: Dmitry Safonov Date: Wed, 3 Mar 2021 23:33:44 +0000 Subject: [PATCH] lib/cli.py: Open out file as a binary python3 fails to encode image with the following: > [dima@Mindolluin criu]$ ./crit/crit encode -i tmp -o tmp.1 > Traceback (most recent call last): > File "/home/dima/src/criu/./crit/crit", line 6, in > cli.main() > File "/home/dima/src/criu/crit/pycriu/cli.py", line 410, in main > opts["func"](opts) > File "/home/dima/src/criu/crit/pycriu/cli.py", line 50, in encode > pycriu.images.dump(img, outf(opts)) > File "/home/dima/src/criu/crit/pycriu/images/images.py", line 617, in dump > f.write(struct.pack('i', magic.by_name['IMG_COMMON'])) > TypeError: write() argument must be str, not bytes Opening the output file as binary seems to help. Signed-off-by: Dmitry Safonov --- lib/py/cli.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/py/cli.py b/lib/py/cli.py index 94cc2f947..df96729e2 100755 --- a/lib/py/cli.py +++ b/lib/py/cli.py @@ -16,7 +16,7 @@ def inf(opts): def outf(opts): if opts['out']: - return open(opts['out'], 'w+') + return open(opts['out'], 'wb+') else: return sys.stdout