using python with tar files and compressed files

J

John Salerno

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('wxPython-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('wxPython-newdocs-2.6.3.3.tar.bz2', 'r:bz2')
File "C:\Python24\lib\tarfile.py", line 901, in open
return func(name, filemode, fileobj)
File "C:\Python24\lib\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)
 
E

enigmadude

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.
 
J

John Machin

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.

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
 
J

John Salerno

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.
 

Ask a Question

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

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,982
Messages
2,570,190
Members
46,740
Latest member
AdolphBig6

Latest Threads

Top