使用StringIO作为字符串缓冲区比使用列表缓冲区慢。什么时候使用StringIO?
什么时候使用StringIO?
from io import StringIO
def meth1(string):
a = []
for i in range(100):
a.append(string)
return ''.join(a)
def meth2(string):
a = StringIO()
for i in range(100):
a.write(string)
return a.getvalue()
if __name__ == '__main__':
from timeit import Timer
string = "This is test string"
print(Timer("meth1(string)", "from __main__ import meth1, string").timeit())
print(Timer("meth2(string)", "from __main__ import meth2, string").timeit())
结果:
16.7872819901
18.7160351276
你可能是指“什么时候”而不是“以上”? – 2011-01-19 10:16:58