Message ID | 20211015131645.501281-3-lvivier@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | analyze-migration.py: trivial fixes | expand |
On 10/15/21 15:16, Laurent Vivier wrote: > When we try to use 'analyze-migration.py -x' with python3, > we have the following errors: > > Traceback (most recent call last): > File "scripts/analyze-migration.py", line 593, in <module> > f.write(jsonenc.encode(dump.vmsd_desc)) > TypeError: a bytes-like object is required, not 'str' > > Traceback (most recent call last): > File "scripts/analyze-migration.py", line 601, in <module> > f.write(jsonenc.encode(dict)) > TypeError: a bytes-like object is required, not 'str' > > This happens because the file 'f' is open in binary mode while > jsonenc.encode() returns a string. > > The results are human-readable files, 'desc.json' and 'state.json', > so there is no reason to use the binary mode. > > Signed-off-by: Laurent Vivier <lvivier@redhat.com> > --- > scripts/analyze-migration.py | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
diff --git a/scripts/analyze-migration.py b/scripts/analyze-migration.py index 9d239d309f33..b82a1b0c58c4 100755 --- a/scripts/analyze-migration.py +++ b/scripts/analyze-migration.py @@ -588,7 +588,7 @@ def default(self, o): dump.read(desc_only = True) print("desc.json") - f = open("desc.json", "wb") + f = open("desc.json", "w") f.truncate() f.write(jsonenc.encode(dump.vmsd_desc)) f.close() @@ -596,7 +596,7 @@ def default(self, o): dump.read(write_memory = True) dict = dump.getDict() print("state.json") - f = open("state.json", "wb") + f = open("state.json", "w") f.truncate() f.write(jsonenc.encode(dict)) f.close()
When we try to use 'analyze-migration.py -x' with python3, we have the following errors: Traceback (most recent call last): File "scripts/analyze-migration.py", line 593, in <module> f.write(jsonenc.encode(dump.vmsd_desc)) TypeError: a bytes-like object is required, not 'str' Traceback (most recent call last): File "scripts/analyze-migration.py", line 601, in <module> f.write(jsonenc.encode(dict)) TypeError: a bytes-like object is required, not 'str' This happens because the file 'f' is open in binary mode while jsonenc.encode() returns a string. The results are human-readable files, 'desc.json' and 'state.json', so there is no reason to use the binary mode. Signed-off-by: Laurent Vivier <lvivier@redhat.com> --- scripts/analyze-migration.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)