“TypeError:内置操作的错误参数类型”

时间:2012-07-10 14:42:24

标签: python exception

在什么情况下Python会抛出此错误:

"TypeError: bad argument type for built-in operation"

在这行代码中报告了错误:

csv.reader(open(file_name), dialect=dialect)

我试图重现它,但我得到的最接近的是这个错误:

"TypeError: coercing to Unicode: need string or buffer, bool found"

我已尝试在Linux上使用Python2.7和Python 2.5,在Windows XP上使用Python 2.4

2 个答案:

答案 0 :(得分:3)

Python 2.4中的csv.reader已知错误;见http://mail.python.org/pipermail/tutor/2008-January/059758.html

通常,“内置操作的错误参数类型”遍布整个地方,因为它是PyErr_BadArgument CPython API调用生成的异常文本。这意味着回溯将没有多大用处,因为在C代码中引发了异常。调试的最佳选择是在调试器下运行Python并在PyErr_BadArgument上设置断点。

答案 1 :(得分:0)

我的猜测是file_name是一个bool而不是open()期望的字符串或缓冲区。我不会非常关心不同的信息;它们都是TypeErrors,其中一个恰好比另一个更具体,可能是因为Python版本存在一些差异。