[Tutor] How to update only set CLI args?

Cameron Simpson cs at cskk.id.au
Mon Jan 17 16:18:23 EST 2022


On 17Jan2022 08:23, Leam Hall <leamhall at gmail.com> wrote:
>On 1/17/22 08:18, Alan Gauld via Tutor wrote:
>>On 17/01/2022 14:00, Leam Hall wrote:
>>>Writing a CLI app in Python 3.10. There's a "defaults" dict, a config file that gets read into a dict, and command line arguments that can be passed in.
>>>
>>>    defaults = {'table':'people'}
>>>    defaults.update(config)
>>>    defaults.update(vars(args))
>>>
>>>The issue is that if an argument is not set on the command line,
>>>the args.item has a value of "None", which then overwrites any value
>>>in defaults or config. How do I update just the set args?
>>
>>Write a loop to test for none values before updating?
>
>That I can do; I just thought there might be a cleaner way.

Well you could filter() the args.items(). Not sure it is more readable.

Cheers,
Cameron Simpson <cs at cskk.id.au>


More information about the Tutor mailing list