Setuptools not passing arguments for entry_points

前端 未结 2 478
感情败类
感情败类 2021-02-14 02:05

I\'m using setuptools for a Python script I wrote

After installing, I do:

$ megazord -i input -d database -v xx-xx -w yy-yy

Like I woul

2条回答
  •  礼貌的吻别
    2021-02-14 02:33

    Just to give a full picture of what megazord.py would look like, using @Jeffrey Harris suggestion to use a nice library for parsing the inputs.

    import argparse
    
    def main():
        ''' Example of taking inputs for megazord bin'''
        parser = argparse.ArgumentParser(prog='my_megazord_program')
        parser.add_argument('-i', nargs='?', help='help for -i blah')
        parser.add_argument('-d', nargs='?', help='help for -d blah')
        parser.add_argument('-v', nargs='?', help='help for -v blah')
        parser.add_argument('-w', nargs='?', help='help for -w blah')
    
        args = parser.parse_args()
    
        collected_inputs = {'i': args.i,
                        'd': args.d,
                        'v': args.v,
                        'w': args.w}
        print 'got input: ', collected_inputs 
    

    And with using it like in the above, one would get

    $ megazord -i input -d database -v xx-xx -w yy-yy
    got input: {'i': 'input', 'd': 'database', 'w': 'yy-yy', 'v': 'xx-xx'}
    

    And since they are all optional arguments,

    $ megazord
    got input: {'i': None, 'd': None, 'w': None, 'v': None}
    

提交回复
热议问题