Why am I getting no attribute '__getitem__' error for dictionary?

12,807

Solution 1

options is not a dict:

print options.input_pattern

Solution 2

If you must have a dict, use

options.__dict__
Share:
12,807
Viet
Author by

Viet

Developer who is passionate about web, C++, design, classical music, art and tries mixing them together.

Updated on June 06, 2022

Comments

  • Viet
    Viet almost 2 years

    Why am I getting no attribute __getitem__ error for dictionary:

    Traceback (most recent call last):
      File "./thumbnail.py", line 39, in <module>
        main()
      File "./thumbnail.py", line 19, in main
        options['input_pattern']
    AttributeError: Values instance has no attribute '__getitem__'
    

    Here's the code:

    #!/usr/bin/env python
    
    import os, sys, glob
    from PIL import Image
    from optparse import OptionParser
    
    def batch_convert(src_dir, input_pattern, output_ext = None, dest_dir = None):
        return 0
    
    def main():
        print sys.argv
        parser = OptionParser()
        parser.add_option("-s", "--source-dir", dest="src_dir", help="Source directory to fetch images")
        parser.add_option("-d", "--dest-dir", dest="dest_dir", help="Destination directory to writen processed images")
        parser.add_option("-i", "--input-pattern", dest="input_pattern", help="Look for files that match some pattern. E.g. *.png or pic*cool*")
        parser.add_option("-o", "--output-format", dest="output_ext", help="Output format to save all images. If empty, original format of images is preserved")
        (options, args) = parser.parse_args()
        print options
        options['input_pattern']
    
    if __name__ == "__main__":
        main()