0
>>> import cStringIO
>>> a = cStringIO.StringIO()
>>> type(a)
<type 'cStringIO.StringO'>
>>> isinstance(a, cStringIO.StringO)

Traceback (most recent call last):
  File "<pyshell#223>", line 1, in <module>
    isinstance(a, cStringIO.StringO)
AttributeError: 'module' object has no attribute 'StringO'

いくつかのデータ (ファイルのようなオブジェクト) を wsgi アプリに返す必要があります。そのデータは、まだ cStringIO オブジェクトではない場合 (メモリを再度読み取りたくないため)、cStringIO オブジェクトにロードされますが、isinstance(a, cStringIO.StringO) または isinstance(a, cStringIO.StringIO) の両方がスローされます。例外。インスタンスが cStringIO オブジェクトかどうかを確認するにはどうすればよいですか?

4

1 に答える 1

8

代わりにcStringIO.InputTypeandcStringIO.OutputTypeを使用します。

>>> import cStringIO
>>> s = cStringIO.StringIO('output')
>>> isinstance(s, cStringIO.InputType)
True
>>> s = cStringIO.StringIO()
>>> isinstance(s, cStringIO.OutputType)
True
于 2013-02-06T17:37:28.987 に答える