ConfigArgParse icon indicating copy to clipboard operation
ConfigArgParse copied to clipboard

Positional config file arguments do not work when config file arg is not first

Open benjamin-fenker opened this issue 3 years ago • 1 comments

Perhaps an odd situation, but if I use positional arguments AND my config file is not the first argument, the file is not opened. For example:

main.py

import configargparse

p = configargparse.get_argument_parser()
p.add_argument("first_argument")
p.add_argument("config", is_config_file=True)
p.add_argument("--option")
arguments = p.parse_known_args() # or parse_args()

print(arguments)

config.ini

option = yes

And execute it with

python main.py first config.ini:

usage: mwe-fails.py [-h] [--option OPTION] first_argument config
mwe-fails.py: error: Unable to open config file: first. Error: No such file or directory

However, if I switch the order of arguments and modify the command appropriately, I get the expected behavior

benjamin-fenker avatar Mar 04 '22 20:03 benjamin-fenker

If other users have this issue, please post here. My initial sense is that this is a rare / unusual use case.

bw2 avatar Jun 27 '23 19:06 bw2