Hello Python world ,
I wanted suggestion on how to modify the below code to help me accomodate the below two cases # Here is the Sample code. def main(): """ ---MAIN--- """ parser = optparse.OptionParser(usage='%prog [options] <arg1>.]', version='1.0') object_choice = ('super_block','blocks''files', 'directory','links') parser.add_option("-o", "--object", action="store",metavar="object",default='inode',dest="object",type='choice', choices=object_choice, help='The object type to be corrupted [ choose from (' + ','.join(object_choice) + ') default: %default]',) parser.add_option("-p", "--path",action="store",metavar="/mnt/",dest="path",type="string",help="The file or directory path in /mnt/",) parser.add_option("-n", "--size",action="store",metavar="size",dest="size",default=1,type='int',help="The offset field) # Instruct optparse to parse the program's command line: (options, args) = parser.parse_args() # Build the dispatch table: object_type_dictionary = { "super_block":super_block_def, "blocks":blocks_def, "files": files_corrupt_def, "directory": directory_corrupt_def, "links": links_corrput_def, # no () here,we're storing function } # Lookup the object type and then call the function: object_type_dictionary[options.object]() Sample Run # python corrupt.py --object=files --path=/tmp/ --size 1000 Questions : Case 1: # The --path is optional for few for the object type. How do I simulate the below behaviour #python corrupt.py --object=super_block --size=1000 ==> Should work even if --path is not given #python corrupt.py --object=super_block --path=/tmp/--size 1000 ==> If user enters --object=super_block and --path=/ifs/ should throw an error saying its an invaild combinations. case 2: # The --path is mandatory for few of the object types and should complain if its not entered . # python corrupt.py --object=files --path=/tmp/ --size 1000 Regards, Ganesh
-- https://mail.python.org/mailman/listinfo/python-list