From: Tommy Beadle Date: Thu, 2 Jun 2016 19:41:20 +0000 (-0400) Subject: Issue #24617: Add comment for os.mkdir about mode quirks X-Git-Tag: v3.5.2rc1~19 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=63b91e5403d58d8a56e60c760133f32659ac93c3;p=python Issue #24617: Add comment for os.mkdir about mode quirks --- diff --git a/Doc/library/os.rst b/Doc/library/os.rst index 785b080cff..80de2bd475 100644 --- a/Doc/library/os.rst +++ b/Doc/library/os.rst @@ -1623,9 +1623,15 @@ features: Create a directory named *path* with numeric mode *mode*. + If the directory already exists, :exc:`FileExistsError` is raised. + + .. _mkdir_modebits: + On some systems, *mode* is ignored. Where it is used, the current umask - value is first masked out. If the directory already exists, - :exc:`FileExistsError` is raised. + 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. This function can also support :ref:`paths relative to directory descriptors `. @@ -1646,8 +1652,8 @@ features: Recursive directory creation function. Like :func:`mkdir`, but makes all intermediate-level directories needed to contain the leaf directory. - The default *mode* is ``0o777`` (octal). On some systems, *mode* is - 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 ` for how it is interpreted. If *exist_ok* is ``False`` (the default), an :exc:`OSError` is raised if the target directory already exists.