]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.13] gh-54732: Make argparse error caused by empty rows in option files explicit...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Sat, 19 Jul 2025 14:28:57 +0000 (16:28 +0200)
committerGitHub <noreply@github.com>
Sat, 19 Jul 2025 14:28:57 +0000 (14:28 +0000)
gh-54732: Make argparse error caused by empty rows in option files explicit (GH-136795)
(cherry picked from commit 8ffc3ef01e83ffe629c6107082677de4d23974d5)

Co-authored-by: jdunter <2ve@mailbox.org>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Doc/library/argparse.rst

index 290ef0fc38635b07824d66631a893a0988902cf0..6d9348c547227dad846aae956143d75525fe04d0 100644 (file)
@@ -415,12 +415,18 @@ arguments they contain.  For example::
    >>> parser.parse_args(['-f', 'foo', '@args.txt'])
    Namespace(f='bar')
 
-Arguments read from a file must by default be one per line (but see also
+Arguments read from a file must be one per line by default (but see also
 :meth:`~ArgumentParser.convert_arg_line_to_args`) and are treated as if they
 were in the same place as the original file referencing argument on the command
 line.  So in the example above, the expression ``['-f', 'foo', '@args.txt']``
 is considered equivalent to the expression ``['-f', 'foo', '-f', 'bar']``.
 
+.. note::
+
+   Empty lines are treated as empty strings (``''``), which are allowed as values but
+   not as arguments. Empty lines that are read as arguments will result in an
+   "unrecognized arguments" error.
+
 :class:`ArgumentParser` uses :term:`filesystem encoding and error handler`
 to read the file containing arguments.