summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorTommy Beadle <tbeadle@gmail.com>2016-06-02 19:41:20 (GMT)
committerTommy Beadle <tbeadle@gmail.com>2016-06-02 19:41:20 (GMT)
commit63b91e5403d58d8a56e60c760133f32659ac93c3 (patch)
treef136edeceb9f3f89521b6c4f32463806a307195d /Doc
parent39b102535640effc4a5f09e0221f2dac00f862d7 (diff)
downloadcpython-63b91e5403d58d8a56e60c760133f32659ac93c3.zip
cpython-63b91e5403d58d8a56e60c760133f32659ac93c3.tar.gz
cpython-63b91e5403d58d8a56e60c760133f32659ac93c3.tar.bz2
Issue #24617: Add comment for os.mkdir about mode quirks
Diffstat (limited to 'Doc')
-rw-r--r--Doc/library/os.rst14
1 files changed, 10 insertions, 4 deletions
diff --git a/Doc/library/os.rst b/Doc/library/os.rst
index 785b080..80de2bd 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
<dir_fd>`.
@@ -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 <mkdir_modebits>` for how it is interpreted.
If *exist_ok* is ``False`` (the default), an :exc:`OSError` is raised if the
target directory already exists.