[Python-3000] interaction between locals, builtins and except clause
Lisandro Dalcin
dalcinl at gmail.com
Thu Jul 26 19:06:47 CEST 2007
Porting to Py3K, I modified a function like the followin, using a
trick for it working in Py2.x .
def __iter__(self):
if self == _mpi.INFO_NULL:
return
try: range = xrange
except: pass
nkeys = _mpi.info_get_nkeys(self)
for nthkey in range(nkeys):
yield _mpi.info_get_nthkey(self, nthkey)
However, I've got in my unittests (running with py3k)
ERROR: testPyMethods (__main__.TestInfo)
----------------------------------------------------------------------
Traceback (most recent call last):
File "tests/unittest/test_info.py", line 123, in testPyMethods
for key in INFO:
File "/u/dalcinl/lib/python/mpi4py/MPI.py", line 937, in __iter__
for nthkey in range(nkeys):
UnboundLocalError: local variable 'range' referenced before assignment
I am not completelly sure if this is expected (it is, regarding
implementation, but perhaps not regarding Python as a language), so
I post this for your consideration.
--
Lisandro Dalcín
---------------
Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC)
Instituto de Desarrollo Tecnológico para la Industria Química (INTEC)
Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)
PTLC - Güemes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594
More information about the Python-3000
mailing list