开发者

Stop argparse from globbing filepath

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 argpars开发者_JS百科e not to glob the files?


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.


How do I get argparse not to glob the files?

You don't.

You get the shell to stop globbing.

However. Let's think for a moment.

You're saying this in your code

parser.add_argument('path', nargs=1, help='File path to process')

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.


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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜