Python 使用cython模块中的Pytable
我正在解决一组耦合ODE,面临两个问题:速度和内存存储。因此,我使用Python 使用cython模块中的Pytable,python,cython,pytables,Python,Cython,Pytables,我正在解决一组耦合ODE,面临两个问题:速度和内存存储。因此,我使用cython\u gsl创建一个模块来解决我的ODE问题。到目前为止,我只是将数据写入一个.txt文件,但我认为使用PyTables会更有用 因此,我在.pyx文件中定义了如下内容 from cython_gsl cimport * from tables import * def main (parameters for run ): class vector(IsDescription): name= Strin
cython\u gsl
创建一个模块来解决我的ODE问题。到目前为止,我只是将数据写入一个.txt
文件,但我认为使用PyTables
会更有用
因此,我在.pyx
文件中定义了如下内容
from cython_gsl cimport *
from tables import *
def main (parameters for run ):
class vector(IsDescription):
name= StringCol(16) # 16-character String
i = Int32Col() # 32-bit integer
j = Int32Col() # 32-bit integer
k = Int32Col() # 32-bit integer
h5file = tables.openFile("tutorial1.h5", mode = "r", title = "Test file")
group = h5file.createGroup("/", 'spin_vectors',"Spin vectors of the crust and core")
table = h5file.createTable(group, 'shellvector', vector, " ")
... Setup the ODEs ...
while (t < t1):
status = gsl_odeiv_evolve_apply (e, c, s, &sys, &t, t1, &h, y)
if (status != GSL_SUCCESS):
break
#write_file.write("%.16e %.16e %.16e %.16e %.16e %.16e %.16e\n" %(t, y[0], y[1],y[2],y[3], y[4],y[5]) )
shell_table.row['i']=y[0]
shell_table.row['j']=y[1]
shell_table.row['k']=y[2]
shell_table.row.append()
shell_table.flush()
我相信这是一件很有趣的事。因此,它似乎没有被正确导入?虽然我认为这是一个很好的方法,如果有人对如何处理python/cython中的数据有更好的建议,我会很高兴听到……谷歌几乎什么都没有 不幸的是,这里没有足够的信息来回答您的问题。你想做的应该会起作用。然而,我不认为这个错误来自PyTables(它没有任何单独的“Int32”类,尽管它有一个“Int32Atom”和一个“Int32Col”)。我怀疑这是CythonGSL的。有没有什么方法可以让你发布完整的回溯——而不仅仅是最后一个错误——这样我们就可以确定了
NameError: Int32