Commit ed8f42c2 authored by Serhiy Storchaka's avatar Serhiy Storchaka

Issue #27998: Documented bytes paths support on Windows.

parent a65137dc
...@@ -2016,13 +2016,11 @@ features: ...@@ -2016,13 +2016,11 @@ features:
always requires a system call on Unix but only requires one for always requires a system call on Unix but only requires one for
symbolic links on Windows. symbolic links on Windows.
On Unix, *path* can be of type :class:`str` or :class:`bytes` (either *path* may be a :term:`path-like object`. If *path* is of type ``bytes``
directly or indirectly through the :class:`PathLike` interface; use (directly or indirectly through the :class:`PathLike` interface),
:func:`~os.fsencode` and :func:`~os.fsdecode` to encode and decode the type of the :attr:`~os.DirEntry.name` and :attr:`~os.DirEntry.path`
:class:`bytes` paths). On Windows, *path* must be of type :class:`str`. attributes of each :class:`os.DirEntry` will be ``bytes``; in all other
On both systems, the type of the :attr:`~os.DirEntry.name` and circumstances, they will be of type ``str``.
:attr:`~os.DirEntry.path` attributes of each :class:`os.DirEntry` will be of
the same type as *path*.
The :func:`scandir` iterator supports the :term:`context manager` protocol The :func:`scandir` iterator supports the :term:`context manager` protocol
and has the following method: and has the following method:
...@@ -2100,8 +2098,8 @@ features: ...@@ -2100,8 +2098,8 @@ features:
The entry's base filename, relative to the :func:`scandir` *path* The entry's base filename, relative to the :func:`scandir` *path*
argument. argument.
The :attr:`name` attribute will be of the same type (``str`` or The :attr:`name` attribute will be ``bytes`` if the :func:`scandir`
``bytes``) as the :func:`scandir` *path* argument. Use *path* argument is of type ``bytes`` and ``str`` otherwise. Use
:func:`~os.fsdecode` to decode byte filenames. :func:`~os.fsdecode` to decode byte filenames.
.. attribute:: path .. attribute:: path
...@@ -2111,8 +2109,8 @@ features: ...@@ -2111,8 +2109,8 @@ features:
argument. The path is only absolute if the :func:`scandir` *path* argument. The path is only absolute if the :func:`scandir` *path*
argument was absolute. argument was absolute.
The :attr:`path` attribute will be of the same type (``str`` or The :attr:`path` attribute will be ``bytes`` if the :func:`scandir`
``bytes``) as the :func:`scandir` *path* argument. Use *path* argument is of type ``bytes`` and ``str`` otherwise. Use
:func:`~os.fsdecode` to decode byte filenames. :func:`~os.fsdecode` to decode byte filenames.
.. method:: inode() .. method:: inode()
...@@ -2207,7 +2205,8 @@ features: ...@@ -2207,7 +2205,8 @@ features:
.. versionadded:: 3.5 .. versionadded:: 3.5
.. versionchanged:: 3.6 .. 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) .. function:: stat(path, \*, dir_fd=None, follow_symlinks=True)
......
...@@ -1196,6 +1196,8 @@ See the summary for :ref:`PEP 519 <whatsnew36-pep519>` for details on how the ...@@ -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 :mod:`os` and :mod:`os.path` modules now support
:term:`path-like objects <path-like object>`. :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 A new :meth:`~os.scandir.close` method allows explicitly closing a
:func:`~os.scandir` iterator. The :func:`~os.scandir` iterator now :func:`~os.scandir` iterator. The :func:`~os.scandir` iterator now
supports the :term:`context manager` protocol. If a :func:`scandir` supports the :term:`context manager` protocol. If a :func:`scandir`
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment