May-02-2023, 08:40 AM
Better use the arparse module from the standard library to handle CLI arguments
import argparse class Hardware: pass class Spam: pass class Eggs: pass if __name__ == '__main__': functions = {'Hardware': Hardware, 'Spam': Spam, 'Eggs': Eggs} parser = argparse.ArgumentParser() parser.add_argument( '--connect', '-c', choices=functions.values(), nargs='*', action='extend', dest='inlist', type=functions.get) ns = parser.parse_args() print(ns.inlist) for f in ns.inlist: f()
Output:$ python paillasse/pf/billy.py -c Hardware Eggs
[<class '__main__.Hardware'>, <class '__main__.Eggs'>]