using python with tar files and compressed files

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • John Salerno

    #1

    using python with tar files and compressed files

    Here's the name of a file I have: wxPython-newdocs-2.6.3.3.tar.bz2

    Now, I tried this:

    import tarfile
    tar = tarfile.open('w xPython-newdocs-2.6.3.3.tar.bz2 ', 'r:bz2')

    but got this:

    Traceback (most recent call last):
    File "<pyshell#5 >", line 1, in -toplevel-
    tar = tarfile.open('w xPython-newdocs-2.6.3.3.tar.bz2 ', 'r:bz2')
    File "C:\Python24\li b\tarfile.py", line 901, in open
    return func(name, filemode, fileobj)
    File "C:\Python24\li b\tarfile.py", line 1006, in bz2open
    raise ReadError, "not a bzip2 file"
    ReadError: not a bzip2 file

    So I'm a little confused. When dealing with a tar.gz or tar.bz2 file, do
    you need to uncompress it first with the proper module (gzip or bz2)? Or
    does tarfile take care of this? If so, why doesn't it recognize the
    above file? Or am I just doing it the wrong way? (I'm following an
    example in the docs)
  • enigmadude@rock.com

    #2
    Re: using python with tar files and compressed files

    This syntax works on other bzipped tar files. But it's not unheard of
    that large tarballs will get corrupted from a download mirror. Use a
    download manager and try redownloading the file. Usually a mirror will
    include an md5sum text file so that you can compare the checksum to
    your downloaded file to verify its integrity. For some reason, the
    wxPython site doesn't have them.

    John Salerno wrote:
    Here's the name of a file I have: wxPython-newdocs-2.6.3.3.tar.bz2
    >
    Now, I tried this:
    >
    import tarfile
    tar = tarfile.open('w xPython-newdocs-2.6.3.3.tar.bz2 ', 'r:bz2')
    >
    but got this:
    >
    Traceback (most recent call last):
    File "<pyshell#5 >", line 1, in -toplevel-
    tar = tarfile.open('w xPython-newdocs-2.6.3.3.tar.bz2 ', 'r:bz2')
    File "C:\Python24\li b\tarfile.py", line 901, in open
    return func(name, filemode, fileobj)
    File "C:\Python24\li b\tarfile.py", line 1006, in bz2open
    raise ReadError, "not a bzip2 file"
    ReadError: not a bzip2 file
    >
    So I'm a little confused. When dealing with a tar.gz or tar.bz2 file, do
    you need to uncompress it first with the proper module (gzip or bz2)? Or
    does tarfile take care of this? If so, why doesn't it recognize the
    above file? Or am I just doing it the wrong way? (I'm following an
    example in the docs)

    Comment

    • John Machin

      #3
      Re: using python with tar files and compressed files


      enigmadude@rock .com wrote:
      This syntax works on other bzipped tar files. But it's not unheard of
      that large tarballs will get corrupted from a download mirror. Use a
      download manager and try redownloading the file. Usually a mirror will
      include an md5sum text file so that you can compare the checksum to
      your downloaded file to verify its integrity. For some reason, the
      wxPython site doesn't have them.
      >
      John Salerno wrote:
      Here's the name of a file I have: wxPython-newdocs-2.6.3.3.tar.bz2

      Now, I tried this:

      import tarfile
      tar = tarfile.open('w xPython-newdocs-2.6.3.3.tar.bz2 ', 'r:bz2')

      but got this:

      Traceback (most recent call last):
      File "<pyshell#5 >", line 1, in -toplevel-
      tar = tarfile.open('w xPython-newdocs-2.6.3.3.tar.bz2 ', 'r:bz2')
      File "C:\Python24\li b\tarfile.py", line 901, in open
      return func(name, filemode, fileobj)
      File "C:\Python24\li b\tarfile.py", line 1006, in bz2open
      raise ReadError, "not a bzip2 file"
      ReadError: not a bzip2 file

      So I'm a little confused. When dealing with a tar.gz or tar.bz2 file, do
      you need to uncompress it first with the proper module (gzip or bz2)? Or
      does tarfile take care of this? If so, why doesn't it recognize the
      above file? Or am I just doing it the wrong way? (I'm following an
      example in the docs)
      Another check on download corruption would be to use the "test
      integrity" option on the stand-alone bzip2 executable [which may
      already be on your machine, or can be obtained (directly or in source
      which you'd compile) from www.bzip2.org]:

      bzip2 -t yourfile

      HTH,
      John

      Comment

      • John Salerno

        #4
        Re: using python with tar files and compressed files

        enigmadude@rock .com wrote:
        This syntax works on other bzipped tar files. But it's not unheard of
        that large tarballs will get corrupted from a download mirror. Use a
        download manager and try redownloading the file. Usually a mirror will
        include an md5sum text file so that you can compare the checksum to
        your downloaded file to verify its integrity. For some reason, the
        wxPython site doesn't have them.
        Well, unless the file was updated between my problem and when I got
        home, then perhaps it was my system. Because I tried it again on Linux
        and it worked as expected.

        Comment

        Working...