我在Python文档中无法理解,所以也许我可以在这里问一下:
import StringIO
line = StringIO.StringIO()
line.write('Hello World')
有没有一种方法可以实现对字符串执行类似于
line[1:]
的操作,使得 line.getvalue()
返回 ello World
?谢谢。
我在Python文档中无法理解,所以也许我可以在这里问一下:
import StringIO
line = StringIO.StringIO()
line.write('Hello World')
line[1:]
的操作,使得 line.getvalue()
返回 ello World
?我无法通过 line.getvalue
实现它,但您可以像普通文件对象一样使用 StringIO 对象。只需将其定位到第一个字节并按照正常方式读取即可。
>>> import StringIO
>>> line = StringIO.StringIO()
>>> line.write("Hello World")
>>> line.seek(0)
>>> print line.getvalue()
Hello World
>>> line.seek(1)
>>> print line.getvalue()
Hello World
>>> line.seek(1)
>>> print next(line)
ello World
>>> line.seek(1)
>>> print line.read()
ello World
tell
函数来确定当前位置。如果需要从当前位置开始查找,可以使用 seek(1,1)
函数(我想是这样的)。 - mgilsonStringIO的getvalue()函数将内容作为字符串返回,因此可以使用以下代码:
content = line.getvalue()
print content[1:]
StringIO
来创建一个实例;line = StringIO.StringIO()
。.getvalue()
返回一个字符串,为什么不对它进行切片呢? - Martijn Pieters