I have a dll that to communicate with I need to send numeric codes. So I created a dictionary. It works in one direction in that I can address the key and get the value. But when the program returns the value I can't get the key. This code is very simple and I could use a list and the index except for the last value. Is there a better way to handle coding and decoding values to strings?
QCam_Info = { 'qinfCameraType' : 0, # Camera model (see QCam_qcCameraType) 'qinfSerialNumber' : 1, # Deprecated 'qinfHardwareVersion' : 2, # Hardware version 'qinfFirmwareVersion' : 3, # Firmware version 'qinfCcd' : 4, # CCD model (see QCam_qcCcd) 'qinfBitDepth' : 5, # Maximum bit depth 'qinfCooled' : 6, # Returns 1 if cooler is available, 0 if not 'qinfReserved1' : 7, # Reserved 'qinfImageWidth ' : 8, # Width of the ROI (in pixels) 'qinfImageHeight' : 9, # Height of the ROI (in pixels) 'qinfImageSize' : 10, # Size of returned image (in bytes) 'qinfCcdType' : 11, # CDD type (see QCam_qcCcdType) 'qinfCcdWidth' : 12, # CCD maximum width 'qinfCcdHeight' : 13, # CCD maximum height 'qinfFirmwareBuild' : 14, # Build number of the firmware 'qinfUniqueId' : 15, # Same as uniqueId in QCam_CamListItem 'qinfIsModelB' : 16, # Cameras manufactured after March 1, 2004 return 1, otherwise 0 'qinfIntensifierModel' : 17, # Intensifier tube model (see QCam_qcIntensifierModel) 'qinfExposureRes' : 18, # Exposure time resolution (nanoseconds) 'qinfTriggerDelayRes' : 19, # Trigger delay Resolution (nanoseconds) 'qinfStreamVersion' : 20, # Streaming version 'qinfNormGainSigFigs' : 21, # Normalized Gain Significant Figures resolution 'qinfNormGaindBRes' : 22, # Normalized Gain dB resolution (in micro units) 'qinfNormITGainSigFigs' : 23, # Normalized Intensifier Gain Significant Figures 'qinfNormITGaindBRes' : 24, # Normalized Intensifier Gain dB resolution (micro units) 'qinfRegulatedCooling' : 25, # 1 if camera has regulated cooling 'qinfRegulatedCoolingLock' : 26, # 1 if camera is at regulated temperature, 0 otherwise 'qinfFanControl' : 29, # 1 if camera can control fan speed 'qinfHighSensitivityMode' : 30, # 1 if camera has high sensitivity mode available 'qinfBlackoutMode' : 31, # 1 if camera has blackout mode available 'qinfPostProcessImageSize' : 32, # Returns the size (in bytes) of the post-processed image 'qinfAsymmetricalBinning' : 33, # 1 if camera has asymmetrical binning (ex: 2x4) 'qinfEMGain' : 34, # 1 if EM gain is supported, 0 if not 'qinfOpenDelay' : 35, # 1 if shutter open delay controls are available, 0 if not 'qinfCloseDelay' : 36, # 1 if shutter close delay controls are available, 0 if not 'qinfColorWheelSupported' : 37, # 1 if color wheel is supported, 0 if not 'qinfReserved2' : 38, 'qinfReserved3' : 39, 'qinfReserved4' : 40, 'qinfReserved5' : 41, 'qinfEasyEmModeSupported' : 42, # 1 if camera supports Easy EM mode 'qinfLockedGainModeSupported' : 43, 'qinf_last' : 44, '_qinf_force32' : 0xFFFFFFFF } -- http://mail.python.org/mailman/listinfo/python-list