Issue #24617: Add comment for os.mkdir about mode quirks

This commit is contained in:
Tommy Beadle 2016-06-02 15:41:20 -04:00
parent 7740c406bc
commit 33b19ca77f
1 changed files with 13 additions and 4 deletions

View File

@ -1222,10 +1222,17 @@ Files and Directories
.. function:: mkdir(path[, mode]) .. function:: mkdir(path[, mode])
Create a directory named *path* with numeric mode *mode*. The default *mode* is Create a directory named *path* with numeric mode *mode*. The default *mode* is
``0777`` (octal). On some systems, *mode* is ignored. Where it is used, the ``0777`` (octal). If the directory already exists,
current umask value is first masked out. If the directory already exists,
:exc:`OSError` is raised. :exc:`OSError` is raised.
.. _mkdir_modebits:
On some systems, *mode* is ignored. Where it is used, the current umask
value is first masked out. If bits other than the last 9 (i.e. the last 3
digits of the octal representation of the *mode*) are set, their meaning is
platform-dependent. On some platforms, they are ignored and you should call
:func:`chmod` explicitly to set them.
It is also possible to create temporary directories; see the It is also possible to create temporary directories; see the
:mod:`tempfile` module's :func:`tempfile.mkdtemp` function. :mod:`tempfile` module's :func:`tempfile.mkdtemp` function.
@ -1241,8 +1248,10 @@ Files and Directories
Recursive directory creation function. Like :func:`mkdir`, but makes all Recursive directory creation function. Like :func:`mkdir`, but makes all
intermediate-level directories needed to contain the leaf directory. Raises an intermediate-level directories needed to contain the leaf directory. Raises an
:exc:`error` exception if the leaf directory already exists or cannot be :exc:`error` exception if the leaf directory already exists or cannot be
created. The default *mode* is ``0777`` (octal). On some systems, *mode* is created. The default *mode* is ``0777`` (octal).
ignored. Where it is used, the current umask value is first masked out.
The *mode* parameter is passed to :func:`mkdir`; see :ref:`the mkdir()
description <mkdir_modebits>` for how it is interpreted.
.. note:: .. note::