qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3 1/2] qapi: open files in binary mode and use


From: Markus Armbruster
Subject: Re: [Qemu-devel] [PATCH v3 1/2] qapi: open files in binary mode and use explicit decoding/encoding in common.py
Date: Mon, 18 Jun 2018 19:54:26 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)

Eduardo Habkost <address@hidden> writes:

> On Mon, Jun 18, 2018 at 07:25:14AM +0200, Markus Armbruster wrote:
>> Matthias Maier <address@hidden> writes:
>> 
>> > This is a different approach to fix the locale dependent encode/decode
>> > problem in common.py utilizing the binary read/write mode [1,2], and (if
>> > a python 3 interpreter is used) with explicit decode/encode arguments
>> > [3].
>> 
>> Why can't we simply pass encoding='utf-8' to open()?
>
> This wouldn't work in Python 2.7 (where the `open()` builtin
> doesn't support the `encoding` parameter).
>
> io.open(..., encoding='utf-8') should work, though.

This falls apart because then f.read() returns objects of type 'unicode'
in Python 2, breaking isinstance(..., str) predicates in several places.

What I asked for is something else: wrap the version conditional around
open() instead of around the conversion from bytes to str.  Coding up
the (trivial) patch is easier than explaining it in more detail than
"pass encoding='utf-8' to open()", so I did just that.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]