【发布时间】:2011-07-17 11:29:37
【问题描述】:
您好,
我遇到了一个有趣的错误,想知道是否有人知道原因。
我创建了几个 dtype 对象的 numpy 数组,并希望用空字符串初始化它们,所以我做了以下创建它们:
txtInputs=empty((7,12), dtype=object)
txtInputs[:, :]=''
repeated...
除了这些变量是函数的本地变量并且在函数返回时消失之外,它们之后的使用方式无关紧要。但是,我发现当我连续多次调用执行此操作的函数时,我的程序崩溃并出现错误,提示 pythonw.exe 已停止工作。这种崩溃是一致的,并且发生在特定数量的调用之后,并且该数字永远不会改变。
但是,如果我将第二行替换为:
txtInputs.fill('')
它不会崩溃。使用 [:,:]='' 填充 numpy 数组有什么问题??
谢谢。
附言。我正在使用 python 2.5 和 numpy 1.0.4
【问题讨论】:
-
请注意,有时它会给我一个 C++ 运行时库错误,有时它只是说 pythonw.exe 已停止工作。所以它似乎只指向 Windows...
-
我询问主要是出于好奇——自 1.0.4 以来已经有 9 个 NumPy 版本。询问的另一个原因是我无法访问这么旧版本的 NumPy,所以我无法重现您的问题。如果这是 NumPy 问题,很可能同时已修复,但我不知道这是否是 NumPy 问题。
标签: python arrays string crash numpy