[Python-checkins] [3.10] bpo-41963: document that ConfigParser strips off comments (GH-26197) (GH-26214)
ambv
webhook-mailer at python.org
Tue May 18 13:03:18 EDT 2021
https://github.com/python/cpython/commit/4d17c93dfe760478509bcf709345b0522fd3a7e8
commit: 4d17c93dfe760478509bcf709345b0522fd3a7e8
branch: 3.10
author: Łukasz Langa <lukasz at langa.pl>
committer: ambv <lukasz at langa.pl>
date: 2021-05-18T19:03:09+02:00
summary:
[3.10] bpo-41963: document that ConfigParser strips off comments (GH-26197) (GH-26214)
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Laura Gutierrez Funderburk <58710704+lgfunderburk at users.noreply.github.com>
Co-authored-by: Jürgen Gmach <juergen.gmach at googlemail.com>
(cherry picked from commit 02ee8191263848f8c8999f72286148946b83e5c9)
files:
A Misc/NEWS.d/next/Documentation/2021-05-17-20-03-47.bpo-41963.eUz9_o.rst
M Doc/library/configparser.rst
M Lib/configparser.py
diff --git a/Doc/library/configparser.rst b/Doc/library/configparser.rst
index 646e8a317f52c3..b0c2a2cfb06a47 100644
--- a/Doc/library/configparser.rst
+++ b/Doc/library/configparser.rst
@@ -1153,6 +1153,13 @@ ConfigParser Objects
*space_around_delimiters* is true, delimiters between
keys and values are surrounded by spaces.
+ .. note::
+
+ Comments in the original configuration file are not preserved when
+ writing the configuration back.
+ What is considered a comment, depends on the given values for
+ *comment_prefix* and *inline_comment_prefix*.
+
.. method:: remove_option(section, option)
diff --git a/Lib/configparser.py b/Lib/configparser.py
index 3b4cb5e6b2407f..2f45e242b49426 100644
--- a/Lib/configparser.py
+++ b/Lib/configparser.py
@@ -908,6 +908,9 @@ def write(self, fp, space_around_delimiters=True):
If `space_around_delimiters' is True (the default), delimiters
between keys and values are surrounded by spaces.
+
+ Please note that comments in the original configuration file are not
+ preserved when writing the configuration back.
"""
if space_around_delimiters:
d = " {} ".format(self._delimiters[0])
@@ -1006,7 +1009,7 @@ def _read(self, fp, fpname):
Configuration files may include comments, prefixed by specific
characters (`#' and `;' by default). Comments may appear on their own
in an otherwise empty line or may be entered in lines holding values or
- section names.
+ section names. Please note that comments get stripped off when reading configuration files.
"""
elements_added = set()
cursect = None # None, or a dictionary
diff --git a/Misc/NEWS.d/next/Documentation/2021-05-17-20-03-47.bpo-41963.eUz9_o.rst b/Misc/NEWS.d/next/Documentation/2021-05-17-20-03-47.bpo-41963.eUz9_o.rst
new file mode 100644
index 00000000000000..b9fe722fa3a795
--- /dev/null
+++ b/Misc/NEWS.d/next/Documentation/2021-05-17-20-03-47.bpo-41963.eUz9_o.rst
@@ -0,0 +1 @@
+Document that ``ConfigParser`` strips off comments when reading configuration files.
\ No newline at end of file
More information about the Python-checkins
mailing list