2

どのような場合に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とPython2.5を、WindowsXPではPython2.4を試してみました

4

2 に答える 2

3

Python2.4csv.readerには既知のバグがあります。http://mail.python.org/pipermail/tutor/2008-January/059758.htmlを参照してください

PyErr_BadArgument一般に、「組み込み操作の不正な引数タイプ」は、 CPython API呼び出しによって生成される例外テキストであるため、いたるところに現れます。これは、Cコードで例外が発生するため、トレースバックはあまり使用されないことを意味します。デバッグの最善の策は、デバッガーでPythonを実行し、にブレークポイントを設定することPyErr_BadArgumentです。

于 2012-07-10T15:42:06.053 に答える
0

私の推測では、これは期待どおりfile_nameの文字列やバッファではなくブール値open()です。私はメッセージの違いについてはあまり気にしません。これらは両方ともTypeErrorsであり、おそらくPythonバージョンの違いが原因で、一方が他方よりも具体的であるだけです。

于 2012-07-10T15:30:02.693 に答える