diff options
author | Tommy Beadle <tbeadle@gmail.com> | 2016-06-02 19:41:20 (GMT) |
---|---|---|
committer | Tommy Beadle <tbeadle@gmail.com> | 2016-06-02 19:41:20 (GMT) |
commit | 63b91e5403d58d8a56e60c760133f32659ac93c3 (patch) | |
tree | f136edeceb9f3f89521b6c4f32463806a307195d /Doc | |
parent | 39b102535640effc4a5f09e0221f2dac00f862d7 (diff) | |
download | cpython-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.rst | 14 |
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. |