網上有很多關於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