On 2012-10-12 16:36, Wanderer wrote:
I'm trying to write some code that will load one of three dll depending on the 
one available. I've tried the code below, but it doesn't work. The try except 
doesn't catch the exception. Is there a way to do this?

         try:
             self.dll = windll.pvcam64
         except:
             print "No pvcam64"
             try:
                 self.dll = windll.pvcam32
             except:
                 print "No pvcam32"
                 try:
                     self.dll = windll.pvcam
                 except:
                     print "No pvcam"
                     return
                 else:
                     print "installed pvcam"
             else:
                 print "installed pvcam32"
         else:
             print "installed pvcam64"

This works for me:

    for name in ("pvcam64", "pvcam32", "pvcam"):
        try:
            self.dll = getattr(windll, name)
        except OSError:
            print "No " + name
        else:
            print "Installed " + name
            return

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to