Hello everyone, I'm a newbie to Python, learning it and tried to write the script that would read file, zip it, and put in the target directory. I used ZipFile module (code below).
It works nice, except the zipfile created contains the directory path of the source file -- which I do NOT want to recreate. E.g. when I compress 'c:\\temp\\zz.txt', the resulting zipfile contains not just 'zz.txt' file, but also the whole directory, i.e. first directory is 'c:', inside of it the directory 'temp' is located, and only then the 'zz.txt' file is stored. Changing current directory via os.chdir and then using the filename itself (zz.txt) doesn't work, i.e. the source directory structure is still re-created within the zipfile. Code follows. TIA for reply, def zf(sfpath, targetdir): if (sys.platform[:3] == 'win'): tgfpath=sfpath[2:] else: tgfpath=sfpath zfdir=os.path.dirname(os.path.abspath(targetdir) + tgfpath) zfname=zfdir + '\\' + os.path.basename(tgfpath) + '.zip' if(not os.path.isdir(zfdir)): os.makedirs(zfdir) archive=ZipFile(zfname, 'w', ZIP_DEFLATED) print 'zfname ' + zfname archive.write(sfpath) archive.close() >>> zf('c:\\temp\\zz.txt','c:\\tmp\\test1\\test2') zfname c:\tmp\test1\test2\temp\zz.txt.zip >>> -- "Cultural ecstasy may have billions of participants, but it hardly has a single friend." -- Charles Freund -- http://mail.python.org/mailman/listinfo/python-list