Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #31168
| Date | 2012-10-12 17:57 +0100 |
|---|---|
| From | MRAB <python@mrabarnett.plus.com> |
| Subject | Re: Checking for dlls in ctypes |
| References | <975da919-c70a-492a-9d49-62254a76eb6c@googlegroups.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.2094.1350061025.27098.python-list@python.org> (permalink) |
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
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Checking for dlls in ctypes Wanderer <wanderer@dialup4less.com> - 2012-10-12 08:36 -0700
Re: Checking for dlls in ctypes Dave Angel <d@davea.name> - 2012-10-12 12:28 -0400
Re: Checking for dlls in ctypes Wanderer <wanderer@dialup4less.com> - 2012-10-12 10:57 -0700
Re: Checking for dlls in ctypes Wanderer <wanderer@dialup4less.com> - 2012-10-12 10:57 -0700
Re: Checking for dlls in ctypes Nobody <nobody@nowhere.com> - 2012-10-13 12:32 +0100
Re: Checking for dlls in ctypes MRAB <python@mrabarnett.plus.com> - 2012-10-12 17:57 +0100
Re: Checking for dlls in ctypes Wanderer <wanderer@dialup4less.com> - 2012-10-12 10:52 -0700
Re: Checking for dlls in ctypes Wanderer <wanderer@dialup4less.com> - 2012-10-12 10:52 -0700
Re: Checking for dlls in ctypes 88888 Dihedral <dihedral88888@googlemail.com> - 2012-10-13 06:40 -0700
csiph-web