[New-bugs-announce] [issue1278] imp.find_module() ignores -*- coding: Latin-1 -*-

Christian Heimes report at bugs.python.org
Mon Oct 15 03:34:28 CEST 2007

New submission from Christian Heimes:

imp.find_module() returns an io.TextIOWrapper instance first value. The
encoding of the TextIOWrapper isn't set from a -*- coding: Latin-1 -*- line.

>>> import imp
>>> imp.find_module("heapq")
(<io.TextIOWrapper object at 0xb7c8f50c>,
'/home/heimes/dev/python/py3k/Lib/heapq.py', ('.py', 'U', 1))
>>> imp.find_module("heapq")[0].read()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/heimes/dev/python/py3k/Lib/io.py", line 1224, in read
    res += decoder.decode(self.buffer.read(), True)
  File "/home/heimes/dev/python/py3k/Lib/codecs.py", line 291, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf8' codec can't decode bytes in position
1428-1430: invalid data
>>> imp.find_module("heapq")[0].encoding
>>> imp.find_module("heapq")[0].readline()
'# -*- coding: Latin-1 -*-\n'

components: Interpreter Core
messages: 56431
nosy: tiran
severity: normal
status: open
title: imp.find_module() ignores -*- coding: Latin-1 -*-
type: behavior
versions: Python 3.0

Tracker <report at bugs.python.org>

More information about the New-bugs-announce mailing list