Python 字符串文件接口

4 投票
2 回答
1341 浏览
提问于 2025-04-11 09:31

有没有一个Python的类,可以把file接口(比如读、写等功能)包裹在一个字符串周围?我想要的东西类似于C++里的stringstream类。

我在想用它把print的输出重定向到一个字符串里,像这样

sys.stdout = string_wrapper()
print "foo", "bar", "baz"
s = sys.stdout.to_string() #now s == "foo bar baz"

编辑:这是一个重复的问题,详细内容可以查看如何在Python中把字符串包裹成文件?

相关问题:

2 个回答

2

为了提高性能,你可以使用cStringIO。不过要注意,这个在Python 3中不是很通用。

12

是的,有一个叫做StringIO的东西:

import StringIO
import sys


sys.stdout = StringIO.StringIO()
print "foo", "bar", "baz"
s = sys.stdout.getvalue()

撰写回答