在什么情况下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
答案 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版本存在一些差异。