GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||||||||
GeezerVison is showing github.com — GH-54732: Tweak wording around empty lines in argument files by savannahostrowski · Pull Request #150980 · python/cpython Conversation
|
Documentation build overview
17 files changed ·
|
Sorry, something went wrong.
There was an error while loading. Please reload this page.
| Each line is treated as a single argument, so an empty line is read as an | ||
| empty string (``''``). |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
I tried to simulate the situation where empty strings are passed from a file and it doesn't return an unrecognized argument, so this note makes much more sense to me and is perfectly understandable.
I also tried to simulate the unrecognized arguments error to see when it appears and my understanding is that it's related to leftover tokens in general rather than empty strings. So, if my understanding is correct, it also makes sense that it was removed here.
So, overall, the new wording is much clearer to me.
>>> import argparse >>> with open("args.txt", "w") as f: ... f.write("-f\n\nbar\n") ... 8 >>> parser = argparse.ArgumentParser(fromfile_prefix_chars="@") >>> parser.add_argument("-f") _StoreAction(option_strings=['-f'], dest='f', nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None, deprecated=False) >>> parser.add_argument("rest", nargs="*") _StoreAction(option_strings=[], dest='rest', nargs='*', const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None, deprecated=False) >>> parser._read_args_from_files(["@args.txt"]) ['-f', '', 'bar'] >>> parser.parse_args(["@args.txt"]) Namespace(f='', rest=['bar']) >>> p2 = argparse.ArgumentParser(fromfile_prefix_chars="@") >>> p2.add_argument("-f") _StoreAction(option_strings=['-f'], dest='f', nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None, deprecated=False) >>> p2.parse_args(["@args.txt"]) usage: [-h] [-f F] : error: unrecognized arguments: bar
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
Thanks @savannahostrowski for the PR 🌮🎉.. I'm working now to backport this PR to: 3.13, 3.14, 3.15. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
GH-151165 is a backport of this pull request to the 3.15 branch. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
GH-151166 is a backport of this pull request to the 3.14 branch. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
GH-151167 is a backport of this pull request to the 3.13 branch. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
argparse has problem parsing option files containing empty rows
There was an error while loading. Please reload this page.