This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author David Ellis
Recipients David Ellis
Date 2017-02-23.00:08:04
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1487808484.96.0.332923797285.issue29627@psf.upfronthosting.co.za>
In-reply-to
Content
Related:
https://github.com/python/cpython/pull/242
https://bugs.python.org/issue29623

In the discussion over my PR for bpo-29623 it became clear that bytestring paths were also unsupported and it was suggested that that should be a separate issue (currently the PR adds checks for both types).

There is some possible odd behaviour as when given a bytestring path the method attempts to open the integer file descriptors for each character in the bytestring. This will most likely fail silently but if it does find an actual file descriptor it will attempt to read and then close the file.

Example from the discussion on the PR:

>>> import os
>>> import configparser
>>> k = os.open('/home/david/develop/cpython/Lib/test/cfgparser.1', os.O_RDONLY)
>>> k
3
>>> c = configparser.ConfigParser()
>>> c.read(b'\x03') 
[3]
>>> list(c)
['DEFAULT', 'Foo Bar']
>>> os.close(k)  # File has already been closed
OSError: [Errno 9] Bad file descriptor

Currently bytestrings do work correctly when provided as part of a list.
History
Date User Action Args
2017-02-23 00:08:05David Ellissetrecipients: + David Ellis
2017-02-23 00:08:04David Ellissetmessageid: <1487808484.96.0.332923797285.issue29627@psf.upfronthosting.co.za>
2017-02-23 00:08:04David Ellislinkissue29627 messages
2017-02-23 00:08:04David Elliscreate