如何使用'io.StringIO'和'print >>'?

时间:2021-01-31 20:26:45

I got the following error:

我收到以下错误:

 Second line.
Traceback (most recent call last):
  File "./main.py", line 8, in <module>
    print >>output, u'Second line.'
TypeError: unicode argument expected, got 'str'

When I run the following code. I don't know what is wrong. Could anybody show me how to fix it?

当我运行以下代码时。我不知道出了什么问题。有谁能告诉我如何解决它?

#!/usr/bin/env python
# vim: set noexpandtab tabstop=2 shiftwidth=2 softtabstop=-1 fileencoding=utf-8:

import io
output = io.StringIO()
output.write(u'First line.\n')
print u'Second line.'
print >>output, u'Second line.'
contents = output.getvalue()
print contents
output.close()

1 个解决方案

#1


3  

For Python 2 consider using the StringIO module instead of io.

对于Python 2,请考虑使用StringIO模块而不是io。

Code:

from StringIO import StringIO

Test Code:

from StringIO import StringIO
output = StringIO()
output.write(u'First line.\n')
print u'Second line.'
print >>output, u'Second line.'
contents = output.getvalue()
print contents
output.close()

Results:

Second line.
First line.
Second line.

#1


3  

For Python 2 consider using the StringIO module instead of io.

对于Python 2,请考虑使用StringIO模块而不是io。

Code:

from StringIO import StringIO

Test Code:

from StringIO import StringIO
output = StringIO()
output.write(u'First line.\n')
print u'Second line.'
print >>output, u'Second line.'
contents = output.getvalue()
print contents
output.close()

Results:

Second line.
First line.
Second line.