Chris Hengge wrote: > Here is my solution, completed with (I think) all your suggestions... > > ######################################################################### > def extractZip(filePathName): > """ > This method recieves the zip file name for decompression, placing the > contents of the zip file appropriately. > """ > if filePathName == "": > print "No file provided...\n" > else: > try: # Attempt to unzip file. > zFile = zipfile.ZipFile(filePathName.strip('"'), "r") > for aFile in zFile.namelist(): # For every file in the zip. > # If the file ends with a needed extension, extract it. > for ext in ['.cap', '.hex', '.fru', '.cfg', '.sdr']: > if aFile.lower().endswith(ext): > insideZip = aFile # Copy of Filename. > if "/" in aFile: # Split the filename if '/'. > aFile = aFile.rsplit('/', 1)[-1] > elif "\\" in aFile: # Split the filename if '\'. > aFile = aFile.rsplit('\\', > 1)[-1] > outfile = open( aFile.lower(), 'w') # Open > output buffer for writing. > outfile.write(zFile.read(insideZip)) # Write the > file. > outfile.close() # Close the output file buffer. > print "Resource extraction completed successfully!\n" > except IOerror, message: # If file creation fails, let the user > know. > print "File could not be written: \n" > print message > > ######################################################################### > Definatly an improvement! Thanks Kent.
Yes, that is what I meant. One minor quibble, I think I would keep aFile as the name in the zip, since that is what it starts as, and use a new name for the external file name. Maybe you could use better names, for example zipPath and fileName. I think that would make the code a little clearer but it is a very minor point. Kent _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor