Il ya beaucoup d'articles sur le web concernant la performance de python, la première chose que vous lisez: concaténation des chaînes ne doit pas être fait en utilisant '+': éviter s1 + s2 + s3, à la place str.joinperformance de jointure de chaîne python
J'ai essayé les éléments suivants: concaténer deux chaînes dans le cadre d'un chemin d'accès: trois approches:
- '+' que je ne devrais pas faire
- str.join
- os.path.join
Voici mon code:
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
Voici les résultats (Python 2.5 WinXP)
0.0182201927899
0.0262544541275
0.120238186697
devrait-il pas être exactement l'inverse?
Si je je vous recommande de renommer le titre de votre question « chaîne de python se joindre à la performance », tellement il est plus évident pour les personnes qui pourraient déposer une double question. –
Aussi, légèrement hors sujet, mais vous pourriez vouloir regarder le module 'timeit' pour faire des timings. –
a changé le titre – Danny