diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2016-11-20 06:23:07 (GMT) |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2016-11-20 06:23:07 (GMT) |
commit | 3c38e066b1a0e600575b2c72207b0f1ac85073cc (patch) | |
tree | 874426fec04b37a4e09b5e9a20917ca2fd99802e /Doc | |
parent | bb08db4010a45bcd96f6aaf47dbaed5a1c2b3729 (diff) | |
download | cpython-3c38e066b1a0e600575b2c72207b0f1ac85073cc.zip cpython-3c38e066b1a0e600575b2c72207b0f1ac85073cc.tar.gz cpython-3c38e066b1a0e600575b2c72207b0f1ac85073cc.tar.bz2 |
Issue #27998: Documented bytes paths support on Windows.
Diffstat (limited to 'Doc')
-rw-r--r-- | Doc/library/os.rst | 23 | ||||
-rw-r--r-- | Doc/whatsnew/3.6.rst | 2 |
2 files changed, 13 insertions, 12 deletions
diff --git a/Doc/library/os.rst b/Doc/library/os.rst index 3260cdc..988cb7c 100644 --- a/Doc/library/os.rst +++ b/Doc/library/os.rst @@ -2016,13 +2016,11 @@ features: always requires a system call on Unix but only requires one for symbolic links on Windows. - On Unix, *path* can be of type :class:`str` or :class:`bytes` (either - directly or indirectly through the :class:`PathLike` interface; use - :func:`~os.fsencode` and :func:`~os.fsdecode` to encode and decode - :class:`bytes` paths). On Windows, *path* must be of type :class:`str`. - On both systems, the type of the :attr:`~os.DirEntry.name` and - :attr:`~os.DirEntry.path` attributes of each :class:`os.DirEntry` will be of - the same type as *path*. + *path* may be a :term:`path-like object`. If *path* is of type ``bytes`` + (directly or indirectly through the :class:`PathLike` interface), + the type of the :attr:`~os.DirEntry.name` and :attr:`~os.DirEntry.path` + attributes of each :class:`os.DirEntry` will be ``bytes``; in all other + circumstances, they will be of type ``str``. The :func:`scandir` iterator supports the :term:`context manager` protocol and has the following method: @@ -2100,8 +2098,8 @@ features: The entry's base filename, relative to the :func:`scandir` *path* argument. - The :attr:`name` attribute will be of the same type (``str`` or - ``bytes``) as the :func:`scandir` *path* argument. Use + The :attr:`name` attribute will be ``bytes`` if the :func:`scandir` + *path* argument is of type ``bytes`` and ``str`` otherwise. Use :func:`~os.fsdecode` to decode byte filenames. .. attribute:: path @@ -2111,8 +2109,8 @@ features: argument. The path is only absolute if the :func:`scandir` *path* argument was absolute. - The :attr:`path` attribute will be of the same type (``str`` or - ``bytes``) as the :func:`scandir` *path* argument. Use + The :attr:`path` attribute will be ``bytes`` if the :func:`scandir` + *path* argument is of type ``bytes`` and ``str`` otherwise. Use :func:`~os.fsdecode` to decode byte filenames. .. method:: inode() @@ -2207,7 +2205,8 @@ features: .. versionadded:: 3.5 .. versionchanged:: 3.6 - Added support for the :class:`~os.PathLike` interface. + Added support for the :class:`~os.PathLike` interface. Added support + for :class:`bytes` paths on Windows. .. function:: stat(path, \*, dir_fd=None, follow_symlinks=True) diff --git a/Doc/whatsnew/3.6.rst b/Doc/whatsnew/3.6.rst index ce8ab98..0b2e6b7 100644 --- a/Doc/whatsnew/3.6.rst +++ b/Doc/whatsnew/3.6.rst @@ -1196,6 +1196,8 @@ See the summary for :ref:`PEP 519 <whatsnew36-pep519>` for details on how the :mod:`os` and :mod:`os.path` modules now support :term:`path-like objects <path-like object>`. +:func:`~os.scandir` now supports :class:`bytes` paths on Windows. + A new :meth:`~os.scandir.close` method allows explicitly closing a :func:`~os.scandir` iterator. The :func:`~os.scandir` iterator now supports the :term:`context manager` protocol. If a :func:`scandir` |