jwesonga wrote:
I've added the line to the script, added a zipped file into the
folder. I've made sure the file exists. The error is now this:

Please get some clues:
(1) Don't reply off-list unless specifically invited.
(2) Don't top-post.
(3) Do read and try to understand *all* of each reply that you get ...
e.g. """
P.S. Printing the contents of filelist immediately after it's been
created might be a good idea. You say "pick the zipped files" but the
only condition I see is a test using os.path.isdir.
"""

(4) Do read and try to understand the output from your own script, e.g.


[EMAIL PROTECTED] processor_files]$ python2.4 processor3.py
trying to unzip '/home/jwesonga/received/log.txt' whose size is 752
bytes

Doesn't that tell you anything? Like you are trying to unzip your own logfile??


Traceback (most recent call last):
  File "processor3.py", line 125, in ?
    unzip(infolder)
  File "processor3.py", line 54, in unzip
    zfile = zipfile.ZipFile(one,'r')
  File "/usr/lib/python2.4/zipfile.py", line 210, in __init__
    self._GetContents()
  File "/usr/lib/python2.4/zipfile.py", line 230, in _GetContents
    self._RealGetContents()
  File "/usr/lib/python2.4/zipfile.py", line 242, in _RealGetContents
    raise BadZipfile, "File is not a zip file"
zipfile.BadZipfile: File is not a zip file

This is strange because I can see the zipped file inside the folder /
home/jwesonga/received what could be the problem?

On Jun 4, 2:45 pm, John Machin <[EMAIL PROTECTED]> wrote:
On Jun 4, 8:06 pm, jwesonga <[EMAIL PROTECTED]> wrote:

Hi,
I have a python script that supposed to go through a folder, pick the
zipped files, unzip them and process the data inside. I'm not sure
where i'm going wrong with this script because it all seems correct:
Nothing is ever as it seems. Let's try to work backwards from the
error message ... and we don't need your magnificent script, just the
traceback will do for now, so:

[ big snip]



The error I keep getting is:
Traceback (most recent call last):
  File "processor3.py", line 124, in ?
    unzip(infolder)
  File "processor3.py", line 53, in unzip
The error says that you are trying to seek 22 bytes backwards from the
end of a file that you presume is a zip file, and this is deemed to be
invalid. Hypotheses: (1) zipfile.py is buggy (2) your file is less
than 22 bytes long. Let's park hypothesis 1 for the moment. Insert the
following code before the call to zipfile.ZipFile:

print "trying to unzip %r whose size is %d bytes" \
    % (one, os.stat(one).st_size)

and tell us your conclusions.

    zfile = zipfile.ZipFile(one,'r')
  File "/usr/lib/python2.4/zipfile.py", line 210, in __init__
    self._GetContents()
  File "/usr/lib/python2.4/zipfile.py", line 230, in _GetContents
    self._RealGetContents()
  File "/usr/lib/python2.4/zipfile.py", line 240, in _RealGetContents
    endrec = _EndRecData(fp)
  File "/usr/lib/python2.4/zipfile.py", line 83, in _EndRecData
    fpin.seek(-22, 2)               # Assume no archive comment.
IOError: [Errno 22] Invalid argument
P.S. Printing the contents of filelist immediately after it's been
created might be a good idea. You say "pick the zipped files" but the
only condition I see is a test using os.path.isdir.

HTH,
John






--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to