Ok I needed to use the utility again and decided to do the speed comparison.
I ran it on A folder with
67.8 GB (72,906,108,928 bytes)
54,824 Files, 5,364 Folders
Here's ZeroZipper
Start - 06:29:44 PM
End - 06:36:41 PM
It took 7 minutes!! Out of which 5 minutes was spent just recreating the 0-byte structure! 1 minute to delete files and <1 to create the zip.
So this method is definitely not good for large folders.
And I think I found a bug. For the zip I didn't put a path just a name "zz.zip", the zip was created in the temp correctly but then it didn't move it to the same location as the zerozipper... it was strange... and the zip was then deleted! so I didn't get any output after waiting for so long!
I then had high hopes for the python version, as it would avoid the slow Disk I/O. So
i finally used the py2exe and converted the code to an exe and tried that (rather than the script just to make a fair comparison).
It died again on unicode filenames
. I did use the new version too this time!
Traceback (most recent call last):
File "makeTreeZip.py", line 61, in <module>
mtime=time.localtime(os.stat(f).st_mtime)
WindowsError: [Error 123] The filename, directory name, or volume label syntax is incorrect: 'J:\\Share\\Categorized Appz\\Compression Utilities\\Just Extractor\\??-readme.txt'
Can someone help with this problem? It seems like the filenames which contain unrecognizable characters are converted to ?? and then we we use them again it crashes... how do we retain the filenames in the original format? regardless of whether it contains Legible/illegible unicode?
After this i tried running the script directly and it seemed to work but then
I encountered another mysterious error
Traceback (most recent call last):
File "makeTreeZip.py", line 63, in <module>
mtime=time.localtime(os.stat(f).st_mtime)
ValueError: (22, 'Invalid argument')
I tried debugging this the value for st_mtime was 1189361328.0 i converted that using time.localtime() and it worked, so i can't figure out exactly what is causing this error.
Actually the file in question have a modified date of
Tuesday, September 25, 3427, 10:40:30 PM
so i can see how python would choke on that. how can i resolve this issue?