I am using python argparse with the following argument definition:
parser.add_argument('path', nargs=1, help='File path to process')
But when I enter my command with a wildcard
argument, argparse
globs all the file paths and terminates with an error.
How do I get argparse
not to glob the files?
The globbing is done by your shell, not by the argparse module. print
sys.argv
at the beginning and you will see what argparse gets as input.The shell is expanding the wildcard argument before
argparse
gets a chance to see it. Put quotes around the wildcard argument to prevent the shell from expanding it.You could later perform the wildcard expansion with glob.glob.
You don't.
You get the shell to stop globbing.
However. Let's think for a moment.
You're saying this in your code
But you are actually providing wild-cards when you run it.
One of those two is wrong. Either stop providing wild-cards at run time or fix argparse to allow multiple filenames.