zipfile.py, fp.seek(-22,2) error
Waitman Gobble
avail4one at gmail.com
Sun Nov 6 15:28:22 EST 2005
Hello,
I am new to Python. I am having trouble with zipfile.py.
On a Linux machine with python 2.4.2 I have trouble opening a zipfile.
Python is complaining about the bit where it does a seek(-22,2). Looks
to me like zipfile.py is trying to come back 22 bytes from the end of
file.
# python
Python 2.4.2 (#1, Oct 27 2005, 15:13:45)
[GCC 3.3.3 20040412 (Red Hat Linux 3.3.3-7)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import zipfile
>>> zf=zipfile.ZipFile("testdoc.odt")
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "/usr/local/lib/python2.4/zipfile.py", line 210, in __init__
self._GetContents()
File "/usr/local/lib/python2.4/zipfile.py", line 230, in _GetContents
self._RealGetContents()
File "/usr/local/lib/python2.4/zipfile.py", line 240, in
_RealGetContents
endrec = _EndRecData(fp)
File "/usr/local/lib/python2.4/zipfile.py", line 83, in _EndRecData
fpin.seek(-22, 2) # Assume no archive comment.
IOError: [Errno 22] Invalid argument
>>> ff=open("testdoc.odt","r")
>>> ff.seek(-22,2)
Traceback (most recent call last):
File "<stdin>", line 1, in ?
IOError: [Errno 22] Invalid argument
>>> ff.seek(0,2)
>>> ff.seek(22,1)
>>> ff.seek(22,2)
>>> ff.seek(-22,2)
Traceback (most recent call last):
File "<stdin>", line 1, in ?
IOError: [Errno 22] Invalid argument
on a windows machine using python 2.4.2 zipfile.py works fine.
Python 2.4.2 (#67, Sep 28 2005, 12:41:11) [MSC v.1310 32 bit (Intel)]
on win32
IDLE 1.1.2
>>> import zipfile
>>> zf=zipfile.ZipFile("testdoc.odt")
>>> ff=open("testdoc.odt","r")
>>> ff.seek(-22,2)
>>> ff.seek(0,0)
>>> ff.seek(0,2)
>>> ff.seek(-22,2)
>>>
here is a windows machine using python 2.3.2 (cygwin)
$ python
Python 2.3.2 (#1, Oct 9 2003, 12:03:29)
[GCC 3.3.1 (cygming special)] on cygwin
Type "help", "copyright", "credits" or "license" for more information.
>>> ff=open("testdoc.odt","r")
>>> ff.seek(-22,2)
>>> ff.seek(0,2)
>>> ff.seek(22,2)
>>> ff.seek(0,0)
>>> ff.seek(-22,2)
>>> import zipfile
>>> zf=zipfile.ZipFile("testdoc.odt")
>>>
seek doesn't mind going -22 from the end on a windows machine but hates
doing it on a linux machine....
any idears????
Thanks and Best,
Waitman Gobble
More information about the Python-list
mailing list