__dict__ of object, Was: Regular Expression IGNORECASE differentfor findall and split?
Fredrik Lundh
fredrik at pythonware.com
Tue Sep 6 17:57:07 EDT 2005
Chris <c at cdot.de> wrote:
> but more of a basic question following, I was doing the following before:
>
> method = 'split' # came from somewhere else of course
> result = re.__dict__[method].(REGEX, TXT)
>
> precompiling the regex
>
> r = compile(REGEX)
>
> does give an regex object which has the needed methods
>
> print dir(r)
> ['__copy__', '__deepcopy__', 'findall', 'finditer', 'match', 'scanner',
> 'search', 'split', 'sub', 'subn']
>
> but how do I evaluate them without explicitly calling them?
>
> result = r.__???MAGIC???__[method](TXT)
>
> obviously I am not a Python pro ;)
I really don't understand why you think you have to write
your RE code that way, but the mechanism you're looking
for is getattr:
result = getattr(r, method)(TXT)
</F>
More information about the Python-list
mailing list