Speed of shutil.copy vs os.system("copy src dest") in win32

Russell Warren russandheather at gmail.com
Wed Apr 26 14:07:23 EDT 2006


I just did a comparison of the copying speed of shutil.copy against the
speed of a direct windows copy using os.system.  I copied a file that
was 1083 KB.

I'm very interested to see that the shutil.copy copyfileobj
implementation of hacking through the file and writing a new one is
significantly faster... any clue as to why this is?  I figure I'm
missing something here.

Does os.system launch a cmd shell every time?

>>> import timeit
>>> timeit.Timer(stmt= r'shutil.copy(r"c:\windows\ntbtlog.txt", r"c:\temp")',setup="import shutil").repeat(repeat=5,number=100)
[0.99285104671434965, 0.68337121058721095, 0.84528340892575216,
0.87780765432398766, 0.8709894693311071]
>>> timeit.Timer(stmt= r'os.system(r"copy c:\windows\ntbtlog.txt c:\temp")',setup="import os").repeat(repeat=5,number=100)
[2.8546278926514788, 2.3763950446300441, 2.4444609580241377,
2.4392499605455669, 2.4446956247265916]




More information about the Python-list mailing list