summaryrefslogtreecommitdiffstats
path: root/Doc/library/functions.rst
diff options
context:
space:
mode:
authorCharles-François Natali <neologix@free.fr>2012-05-20 09:41:53 (GMT)
committerCharles-François Natali <neologix@free.fr>2012-05-20 09:41:53 (GMT)
commitb93f9fa700676841f5a0cd676b9ec1b2a7ac7e84 (patch)
tree71a187c19914e58681c7e051bdd403c6c83f03be /Doc/library/functions.rst
parent185f4013082288b66d6f40ea1b65f242e46f3fee (diff)
downloadcpython-b93f9fa700676841f5a0cd676b9ec1b2a7ac7e84.zip
cpython-b93f9fa700676841f5a0cd676b9ec1b2a7ac7e84.tar.gz
cpython-b93f9fa700676841f5a0cd676b9ec1b2a7ac7e84.tar.bz2
Issue #12760: Add some mising documentation about the new `x` exclusive
creation flag to open().
Diffstat (limited to 'Doc/library/functions.rst')
-rw-r--r--Doc/library/functions.rst15
1 files changed, 10 insertions, 5 deletions
diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst
index 35f05d4..d5ac23e 100644
--- a/Doc/library/functions.rst
+++ b/Doc/library/functions.rst
@@ -797,17 +797,19 @@ are always available. They are listed here in alphabetical order.
*mode* is an optional string that specifies the mode in which the file is
opened. It defaults to ``'r'`` which means open for reading in text mode.
Other common values are ``'w'`` for writing (truncating the file if it
- already exists), and ``'a'`` for appending (which on *some* Unix systems,
- means that *all* writes append to the end of the file regardless of the
- current seek position). In text mode, if *encoding* is not specified the
- encoding used is platform dependent. (For reading and writing raw bytes use
- binary mode and leave *encoding* unspecified.) The available modes are:
+ already exists), ``'x'`` for exclusive creation and ``'a'`` for appending
+ (which on *some* Unix systems, means that *all* writes append to the end of
+ the file regardless of the current seek position). In text mode, if
+ *encoding* is not specified the encoding used is platform dependent. (For
+ reading and writing raw bytes use binary mode and leave *encoding*
+ unspecified.) The available modes are:
========= ===============================================================
Character Meaning
--------- ---------------------------------------------------------------
``'r'`` open for reading (default)
``'w'`` open for writing, truncating the file first
+ ``'x'`` open for exclusive creation, failing if the file already exists
``'a'`` open for writing, appending to the end of the file if it exists
``'b'`` binary mode
``'t'`` text mode (default)
@@ -898,6 +900,7 @@ are always available. They are listed here in alphabetical order.
.. versionchanged:: 3.3
The *opener* parameter was added.
+ The ``'x'`` mode was added.
The type of file object returned by the :func:`open` function depends on the
mode. When :func:`open` is used to open a file in a text mode (``'w'``,
@@ -926,6 +929,8 @@ are always available. They are listed here in alphabetical order.
.. versionchanged:: 3.3
:exc:`IOError` used to be raised, it is now an alias of :exc:`OSError`.
+ :exc:`FileExistsError` is now raised if the file opened in exclusive
+ creation mode (``'x'``) already exists.
.. XXX works for bytes too, but should it?