Hello
Im newbie in pytables and I have a question regarding to an error
message. I writing a program which basically read a text file to a
pytable and then I want to modify one field in the table according to
a condition related to another field. the program is very simple and
I'm getting the following error:
File "D:\python\prod_tests\src\test_receivers.py", line 54, in <module>
check_receivers(path_r,1)
File "D:\python\prod_tests\src\test_receivers.py", line 45, in check_receivers
for row in ro_detector.where('completo <= 20000'):
File "C:\Python26\lib\site-packages\tables\table.py", line 1210, in where
return self._where(condition, condvars, start, stop, step)
File "C:\Python26\lib\site-packages\tables\table.py", line 1226, in _where
condvars = self._requiredExprVars(condition, condvars, depth=3)
File "C:\Python26\lib\site-packages\tables\table.py", line 977, in
_requiredExprVars
user_locals = user_frame.f_locals
File "C:\Python26\lib\site-packages\psyco\support.py", line 124, in
__getattr__
raise AttributeError, ("local variables of functions run by Psyco "
AttributeError: local variables of functions run by Psyco cannot be
accessed in any way, sorry
Closing remaining open files: temp.h5... done
I got the same error in Windows xp as well as Ubuntu 10.4.
Could you please help me with that?
Regards
German
the source code is the following
import os
from tables import *
import numpy as np
def check_receivers(path_r,espaciamiento):
class Detector(IsDescription):
completo = FloatCol()
punto = FloatCol()
fecha = FloatCol()
file = open(path_r,"r")
filename = "temp.h5"
hIndex1file = openFile(filename, mode = "w", title = "Test file")
group_detector = hIndex1file.createGroup("/", 'detector',
'Detector information')
table_detector = hIndex1file.createTable(group_detector,
'preplot',Detector, "hh")
row_detector = table_detector.row
while 1:
line = file.readline()
if len(line)>12:
row_detector['completo']=
float(float(line[1:11])*1000000+float(line[11:21]))
row_detector['punto'] = float(line[11:21])
row_detector['fecha'] = float(0)
row_detector.append()
if not line:
break
pass # do something
file.close()
hIndex1file.close()
filename = "temp.h5"
hIndex1file = openFile(filename, mode = "a", title = "Test file")
ro_detector= hIndex1file.root.detector.preplot
fecha_ant=0
for row in ro_detector.where('completo <= 20000'):
row['fecha'] = 2
row.update()
hIndex1file.close()
if __name__=="__main__":
import psyco
psyco.full()
path_r="D:/python/prod_tests/src/data/sourcesps_sim_select_s1143_r1117.r"
check_receivers(path_r,1)
------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
lucky parental unit. See the prize list and enter to win:
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
Pytables-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/pytables-users