Error de clave cuando la clave está en el diccionario

Solo trato de obtener información de lat / lon de datos EXIF en un montón de fotos, pero el código arroja unKeyError a pesar de que esa clave se utiliza (con éxito) más adelante para imprimir coordenadas específicas.

El diccionario en cuestión es "tags"-'GPS GPSLatitude' y'GPS GPSLongitude' son ambas claves entags.keys(); Lo he verificado tres veces.

Entonces, cualquier intuición sobre por quétags['GPS GPSLatitude'] & tags['GPS GPSLongitude'] están arrojando errores clave?

import os
import exifread

output = dict()
output['name'] = []
output['lon'] = []
output['lat'] = []

for file in os.listdir(path):
    if file.endswith(".JPG"):
        full_path = path + file
        print (file) #check to ensure all files were found
        output['name'].append(file) #append photo name to dictionary
        f = open(full_path, 'rb') #open photo
        tags = exifread.process_file(f) #read exifdata
#       lon = tags['GPS GPSLongitude'] #this + next line = one method
#       output['lon'].append(lon)
#       output['lat'].append(tags['GPS GPSLatitude']) # = cleaner second method
        for tag in tags.keys():
            if tag in ('GPS GPSLongitude','GPS GPSLatitude'):
                print ("Key: %s, value %s" % (tag, tags[tag])) #successfully prints lat/lon coords with 'GPS GPSLongitude' and 'GPS GPSLatitude' as keys

ACTUALIZAR:

Aquí está la salida deprint (tags.keys()) -- verásGPS GPSLatitude yGPS GPSLongitude ahí. Además, he verificado manualmente que todas las fotos en el subconjunto que estoy usando tienen datos de GPS.

dict_keys(['GPS GPSImgDirection', 'EXIF SceneType', 'MakerNote Tag 0x0006', 'GPS GPSDestBearing', 'Thumbnail XResolution', 'EXIF BrightnessValue', 'GPS GPSAltitude', 'GPS GPSLongitude', 'EXIF LensSpecification', 'GPS GPSAltitudeRef', 'GPS GPSSpeedRef', 'GPS GPSDestBearingRef', 'EXIF WhiteBalance', 'Thumbnail ResolutionUnit', 'EXIF FocalLengthIn35mmFilm', 'EXIF SceneCaptureType', 'Image Model', 'MakerNote Tag 0x0008', 'Image Make', 'EXIF ShutterSpeedValue', 'MakerNote Tag 0x0007', 'EXIF ExifImageWidth', 'EXIF LensModel', 'Image YResolution', 'EXIF ComponentsConfiguration', 'Image GPSInfo', 'EXIF ISOSpeedRatings', 'EXIF ExposureMode', 'EXIF Flash', 'EXIF FlashPixVersion', 'GPS GPSLatitudeRef', 'EXIF ExposureBiasValue', 'Thumbnail JPEGInterchangeFormatLength', 'Thumbnail Compression', 'Image YCbCrPositioning', 'EXIF MakerNote', 'EXIF FNumber', 'JPEGThumbnail', 'MakerNote Tag 0x0001', 'EXIF ColorSpace', 'EXIF SubSecTimeDigitized', 'Thumbnail JPEGInterchangeFormat', 'MakerNote Tag 0x0004', 'EXIF SubjectArea', 'Image ResolutionUnit', 'EXIF SensingMethod', 'Image DateTime', 'Image Orientation', 'EXIF ExifVersion', 'Image ExifOffset', 'GPS GPSImgDirectionRef', 'MakerNote Tag 0x0014', 'Thumbnail YResolution', 'EXIF DateTimeOriginal', 'MakerNote Tag 0x0005', 'EXIF LensMake', 'EXIF DateTimeDigitized', 'MakerNote Tag 0x0003', 'GPS GPSTimeStamp', 'EXIF ExposureTime', 'GPS Tag 0x001F', 'EXIF SubSecTimeOriginal', 'GPS GPSLatitude', 'Image Software', 'EXIF ApertureValue', 'GPS GPSDate', 'EXIF ExposureProgram', 'GPS GPSSpeed', 'EXIF ExifImageLength', 'EXIF MeteringMode', 'GPS GPSLongitudeRef', 'EXIF FocalLength', 'Image XResolution'])

Rastrear

---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-14-949ba89a1248> in <module>()
     16 #        lon = tags["GPS GPSLongitude"]
     17 #        output['lon'].append(lon)
---> 18         output['lat'].append(tags['GPS GPSLatitude'])
     19         for tag in tags.keys():
     20             if tag in ('GPS GPSLongitude','GPS GPSLatitude'):

KeyError: 'GPS GPSLatitude'

Enlace a la foto:https://drive.google.com/a/cornell.edu/file/d/0B1DwcbbAH1yuTEs0cUhhODdlNnc/view

Salida de la declaración impresa para esta foto

IMG_6680.JPG
Key: GPS GPSLongitude, value [76, 29, 353/20]
Key: GPS GPSLatitude, value [42, 26, 5069/100]

Respuestas a la pregunta(2)

Su respuesta a la pregunta