call of non-function (type string) error
Paul Prescod
paulp at ActiveState.com
Wed Apr 11 13:49:41 EDT 2001
Graham Guttocks wrote:
>
> ...
> >>> CIPHER = "DES3"
> >>> import Crypto.Cipher
> >>> cipher = getattr(Crypto.Cipher, CIPHER)
> Traceback (most recent call last):
> File "<stdin>", line 1, in ?
> AttributeError: DES3
As Andrew pointed out this is an annoying corner case where you probably
do have to use exec. I'm not really thrilled with all of these corner
cases in Python's package handling.
On the other hand, once you have the module object you can use getattr
to get the "new" function out of the module.
--
Take a recipe. Leave a recipe.
Python Cookbook! http://www.ActiveState.com/pythoncookbook
More information about the Python-list
mailing list