From e905a734f83c83e4122e505f5aa74c00525299da Mon Sep 17 00:00:00 2001 From: Tommy Beadle Date: Thu, 2 Jun 2016 15:41:20 -0400 Subject: [PATCH] [Issue 24617] Add comment for os.makedirs about certain mode bits. --- Doc/library/os.rst | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/Doc/library/os.rst b/Doc/library/os.rst index 1b0ad17..610a591 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. -- 2.8.2