outFile = open(aFile.lower(), 'w') # Open output buffer for writing.
= open a file with lowercase name for writing.
it is implied that aFile is from the zip, since it is created in the loop to read the zip..
outFile.write(zFile.read(insideZip)) # Write the file.
= write what is read from inside the zip file.
I guess for declaration it isn't very clear, but thats what comments are for?
My naming was purely for my ease of mind.. I personally care less about what I call it when I declare, as to how it logically flows when I go to use it. I'm sure this is considered poor method, but once I declare a method I tend to never need to change the declaration, just how I use the info... I hope that makes sense.
On 10/16/06, Kent Johnson <[EMAIL PROTECTED]> wrote:
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