zipfile.py, fp.seek(-22,2) error

Discussion in 'Python' started by Waitman Gobble, Nov 6, 2005.

  1. 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
     
    Waitman Gobble, Nov 6, 2005
    #1
    1. Advertising

  2. ok, i figured it out. the file i was trying to read on the linux
    machine was 0b. lol. i guess the "invalid argument" error was throwing
    me off.
     
    Waitman Gobble, Nov 6, 2005
    #2
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Roedy Green

    ZipFile.entries gotcha

    Roedy Green, Sep 26, 2003, in forum: Java
    Replies:
    9
    Views:
    645
    Phil...
    Sep 29, 2003
  2. Hari Sekhon

    memory error with zipfile module

    Hari Sekhon, May 19, 2006, in forum: Python
    Replies:
    11
    Views:
    1,338
    Fredrik Lundh
    Jun 21, 2006
  3. Martin
    Replies:
    5
    Views:
    600
    Stefan Behnel
    Jul 10, 2007
  4. Wesley Brooks

    Error from zipfile

    Wesley Brooks, Jul 1, 2008, in forum: Python
    Replies:
    2
    Views:
    252
    John Machin
    Jul 1, 2008
  5. Replies:
    3
    Views:
    152
    Andreas Perstinger
    May 14, 2013
Loading...

Share This Page