[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