I have tried to run below code:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--target", required=True)
parsed_args, _ = parser.parse_known_args(args = ["--target foobar"])
print(parsed_args.target)
but I get error saying that following arguments are required: --target
.
I haven't passed any arguments when running python script, I want to just pass a string to the parser during runtime but it seems to still expect arguments when running the file.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--target", required=True)
parsed_args, _ = parser.parse_known_args(args = ["--target","foobar"]) # this array is the only change to your code
print(parsed_args.target)
and in repr things look like this;
>>> import argparse
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument("--target", required=True)
_StoreAction(option_strings=['--target'], dest='target', nargs=None, const=None, default=None, type=None, choices=None, required=True, help=None, metavar=None)
>>> parsed_args, _ = parser.parse_known_args(args = ["--target","foobar"])
>>> print(parsed_args.target)
foobar
>>>
So dunno where you are getting your ValueError
exception.