[파이썬] argparse 기본 인수 파서 확장

Argparse is a powerful and widely used module in Python for parsing command-line arguments. It provides a convenient way to specify and handle various options and arguments that users can pass when running a script. In this blog post, we will explore an extension to the argparse module called “default argument parser”.

Why default argument parser?

The default argument parser is a useful extension to argparse as it allows us to set default values for command-line arguments. This is particularly handy when we want to provide sensible defaults for optional arguments, ensuring that our script can be executed without explicitly specifying all the available options.

Installing the module

Before we begin, let’s make sure we have the argparse-defaults package installed. You can install it using pip:

pip install argparse-defaults

Usage

To start using the default argument parser, import it alongside the regular argparse module:

import argparse
from argparse_defaults import ArgumentParserWithDefaults

Next, create an instance of ArgumentParserWithDefaults instead of argparse.ArgumentParser to benefit from the added functionality.

parser = ArgumentParserWithDefaults()

Now, we can define our command-line arguments as usual, but with the additional capability of specifying default values.

parser.add_argument('--input', default='data.txt', help='Input file path')
parser.add_argument('--output', default='result.txt', help='Output file path')
parser.add_argument('--threshold', default=0.5, type=float, help='Threshold value')

In the example above, the --input argument has a default value of ‘data.txt’, the --output argument has a default value of ‘result.txt’, and the --threshold argument has a default value of 0.5.

Parsing the arguments

To parse the command-line arguments and retrieve their values, simply call parse_args() on the parser object:

args = parser.parse_args()

You can now access the argument values using dot notation:

print(args.input)  # prints the value of --input argument
print(args.output)  # prints the value of --output argument
print(args.threshold)  # prints the value of --threshold argument

If the user does not provide a value for any optional argument, the default value specified during argument definition will be used instead.

Conclusion

The default argument parser extension for argparse simplifies the process of setting default values for command-line arguments in Python. It ensures that our scripts can be executed with sensible defaults, while still allowing users to override those values if needed.

By using ArgumentParserWithDefaults, we can effortlessly handle optional arguments in our scripts and make them more user-friendly. Try it out in your next Python project and experience the ease of handling default values for command-line arguments!