[Biopython] Entrez.read(handle) for Bio._py3k.EvilHandleHack throws error with python 3.2
Peter Cock
p.j.a.cock at googlemail.com
Tue Jul 24 05:41:35 EDT 2012
Hi Richard,
It's great to have some feedback on Python 3 support :)
On Tue, Jul 24, 2012 at 4:20 AM, Richard Llewellyn <llewelr at gmail.com> wrote:
> Follow up for Entrez.read error on EvilHandleHack object:
>
> (this is python 3.2.3)
>
> If I change last line of Entrez.__init__.py _open function from
>
> return _binary_to_string_handle(handle)
> to
> return handle
>
> this error does not occur in example given below.
Hmm. That call to _binary_to_string_handle converts from the
bytes (binary) network handle to a string (unicode) handle which
is required for most of the parsers in Biopython under Python 3
(e.g. FASTA, Genbank).
Surprisingly the Entrez parser seems to be wanting a binary
handle? That seems curious... I presume that means we
don't have this particular case covered in the unit tests :(
How familiar are you with the Python 3 split of bytes vs strings
(unicode), and binary versus text handles?
Peter
More information about the Biopython
mailing list