网上有很多关于python性能的文章,您首先阅读的内容是:连接字符串不应该使用'+'来完成:避免使用s1 + s2 + s3,而使用str.joinpython字符串连接性能
我试过如下:连接两个字符串作为目录路径的一部分:三种方法:
- '+',我不应该这样做
- str.join
- os.path.join
这里是我的代码:
import os,time
s1='/part/one/of/dir'
s2='part/two/of/dir'
N=10000
t=time.clock()
for i in xrange(N):
s=s1+os.sep+s2
print time.clock()-t
t=time.clock()
for i in xrange(N):
s=os.sep.join((s1,s2))
print time.clock()-t
t=time.clock()
for i in xrange(N):
s=os.path.join(s1,s2)
print time.clock()-t
这里的结果(Python 2.5中的WinXP)
0.0182201927899
0.0262544541275
0.120238186697
它不应该是完全倒过来?
如果我可以,我建议重命名你的问题“Python字符串连接性能”的称号,只是这样它更明显,谁可能提交重复的问题的人。 – 2009-01-24 22:35:21
此外,主题略有偏离,但您可能需要查看'timeit'模块以进行计时。 – 2009-01-24 22:35:59