]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-54732: Make argparse error caused by empty rows in option files explicit (#136795)
authorjdunter <2ve@mailbox.org>
Sat, 19 Jul 2025 14:08:19 +0000 (16:08 +0200)
committerGitHub <noreply@github.com>
Sat, 19 Jul 2025 14:08:19 +0000 (14:08 +0000)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Doc/library/argparse.rst

index f189f6b8fa89532e744cb0bdf40d0174a8050113..a08f713ab56ba39075fc60a230652617151b41bf 100644 (file)
@@ -434,12 +434,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.