Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #31166

Re: Checking for dlls in ctypes

Path csiph.com!usenet.pasdenom.info!weretis.net!feeder1.news.weretis.net!feeder.erje.net!newsfeed.xs4all.nl!newsfeed5.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail
Return-Path <d@davea.name>
X-Original-To python-list@python.org
Delivered-To python-list@mail.python.org
X-Spam-Status OK 0.000
X-Spam-Evidence '*H*': 1.00; '*S*': 0.00; 'else:': 0.03; 'exception': 0.03; 'except:': 0.07; 'exception.': 0.07; 'try:': 0.07; 'block.': 0.09; 'exception,': 0.09; 'subject:ctypes': 0.09; 'useless': 0.09; 'work"': 0.09; 'cc:addr:python-list': 0.10; 'clues': 0.16; 'describing': 0.16; 'dlls': 0.16; 'nesting': 0.16; 'traceback.': 0.16; 'typo': 0.16; 'wrote:': 0.17; 'typing': 0.17; 'load': 0.19; 'trying': 0.21; 'terminate': 0.22; "i'd": 0.22; 'cc:2**0': 0.23; 'work.': 0.23; 'statement': 0.23; "i've": 0.23; 'cc:no real name:2**0': 0.24; 'tried': 0.25; 'cc:addr:python.org': 0.25; 'header:In-Reply-To:1': 0.25; 'header:User-Agent:1': 0.26; 'am,': 0.27; 'question': 0.27; 'dll': 0.27; 'errors.': 0.27; "doesn't": 0.28; 'this?': 0.28; 'went': 0.28; 'run': 0.28; '"no': 0.29; 'question:': 0.29; 'trigger': 0.29; 'source': 0.29; "i'm": 0.29; 'code': 0.31; 'could': 0.32; 'print': 0.32; 'getting': 0.33; "can't": 0.34; 'doing': 0.35; 'something': 0.35; 'there': 0.35; 'next': 0.35; 'except': 0.36; 'but': 0.36; "wasn't": 0.36; 'too': 0.36; 'available.': 0.37; 'subject:: ': 0.38; 'some': 0.38; 'received:192': 0.39; 'received:192.168': 0.40; 'help': 0.40; 'below,': 0.60; 'more': 0.63; 'show': 0.63; 'header:Reply-To:1': 0.68; 'received:74.208': 0.71; 'reply-to:no real name:2**0': 0.72; 'clearer': 0.84; 'thoroughly': 0.84
Date Fri, 12 Oct 2012 12:28:17 -0400
From Dave Angel <d@davea.name>
User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20120714 Thunderbird/14.0
MIME-Version 1.0
To Wanderer <wanderer@dialup4less.com>
Subject Re: Checking for dlls in ctypes
References <975da919-c70a-492a-9d49-62254a76eb6c@googlegroups.com>
In-Reply-To <975da919-c70a-492a-9d49-62254a76eb6c@googlegroups.com>
Content-Type text/plain; charset=ISO-8859-1
Content-Transfer-Encoding 7bit
X-Provags-ID V02:K0:adHR4f91NcKxiHk6bDBvWqQdpvgarKVydnooPG2N6Bh wSt5ZdXpReK0Swu0dWwHSueCEBs8aQkQEibca9dksndVEMt3YN wLc0iv98pKbjF+Eqe2vDjfIPUKeH5tL1DU2pEUd3KNremK1LOM 3H6WXA8beXApOIG7fiICfpULUT5rm7htbEMAv9zJKUzChI7baA b3yWlL+EgQ48V4WRcD86FtSopfQn4DRSy7Ojs7ixqBcTTgJ3vT 1UcaJbrvpBAeE5mGYwrXYfLaRPf0o89dxjbI/O3dFtHF9hx2IS 8StJMZ5cvXCohkbmQjFqoCLlsdiIBCbgzzyOHzOrXCI0JzhZA= =
Cc python-list@python.org
X-BeenThere python-list@python.org
X-Mailman-Version 2.1.15
Precedence list
Reply-To d@davea.name
List-Id General discussion list for the Python programming language <python-list.python.org>
List-Unsubscribe <http://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-list/>
List-Post <mailto:python-list@python.org>
List-Help <mailto:python-list-request@python.org?subject=help>
List-Subscribe <http://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe>
Newsgroups comp.lang.python
Message-ID <mailman.2092.1350059331.27098.python-list@python.org> (permalink)
Lines 49
NNTP-Posting-Host 2001:888:2000:d::a6
X-Trace 1350059331 news.xs4all.nl 6885 [2001:888:2000:d::a6]:56799
X-Complaints-To abuse@xs4all.nl
Xref csiph.com comp.lang.python:31166

Show key headers only | View raw


On 10/12/2012 11:36 AM, 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"
>

I can't help you find the dll's, because I don't run Windows.  But I
could help you write a clearer question:

"doesn't work" is thoroughly useless for describing errors.  If you're
getting an exception, show us the full traceback.  That will show which
statement got the exception that wasn't caught.  Next question is which
of the dlls is missing.  Are you getting an exception because it's
missing or because of something more fundamental, like nesting exception
handlers?

Using bare excepts is almost never a good idea.  If it "works" you get
no clues what went wrong.  For example, a typo in source code can
trigger a bare exception, as can a user typing Ctrl-C.   So when you're
using bare excepts, you have robbed the user of any way to terminate the
program.

If I were you, I'd be writing a loop so there's only one try block.  Too
much duplicated code in the way you're doing it.



-- 

DaveA

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


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