!This program cannot be run in DOS mode.
flag indicating that a space needs to be printed; used by print
file mode ('r', 'w', or 'U')
end-of-line convention used in this file
True if the file is closed
Mixing iteration and read methods would lose data
the bz2 library was not compiled correctly
the bz2 library has received wrong parameters
invalid data stream
unknown IO error
compressed file ended before the logical end-of-stream was detected
wrong sequence of bz2 library commands used
Unable to allocate buffer - output too large
line is longer than a Python string can hold
I/O operation on closed file
file is not ready for reading
requested number of bytes is more than a Python string can hold
file is not ready for writing
writelines() requires an iterable argument
writelines() argument must be a sequence of strings
seek works only while reading
Unknown newlines value 0x%x
compresslevel must be between 1 and 9
invalid mode char %c
unable to allocate lock
this object was already flushed
object was already flushed
end of stream was already found
couldn't find end of stream
bucket sorting ...
depth %6d has
%6d unresolved strings
reconstructing block ...
main sort initialise ...
qsort [0x%x, 0x%x] done %d this %d
%d pointers, %d sorted, %d scanned
%d work, %d block, ratio %5.2f
too repetitive; using fallback sorting algorithm
bzip2/libbzip2: internal error number %d.
This is a bug in bzip2/libbzip2, %s.
Please report it to me at: firstname.lastname@example.org. If this happened
when you were using some program which uses libbzip2 as a
component, you should also report this bug to the author(s)
of that program. Please make an effort to report this bug;
timely and accurate bug reports eventually lead to higher
quality software. Thanks. Julian Seward, 10 December 2007.
*** A special note about internal error number 1007 ***
Experience suggests that a common cause of i.e. 1007
is unreliable memory or other hardware. The 1007 assertion
just happens to cross-check the results of huge numbers of
memory reads/writes, and so acts (unintendedly) as a stress
test of your memory system.
I suggest the following: try compressing the file again,
possibly monitoring progress in detail with the -vv flag.
* If the error cannot be reproduced, and/or happens at different
points in compression, you may have a flaky memory system.
Try a memory-test program. I have used Memtest86
(www.memtest86.com). At the time of writing it is free (GPLd).
Memtest86 tests memory much more thorougly than your BIOSs
power-on test, and may find failures that the BIOS doesn't.
* If the error can be repeatably reproduced, this is a bug in
bzip2, and I would very much like to hear about it. Please
let me know, and, ideally, save a copy of the file causing the
problem -- without which I will be unable to investigate it.
combined CRCs: stored = 0x%08x, computed = 0x%08x
%d in block, %d after MTF & 1-2 coding, %d+2 syms in use
initial group %d, [%d .. %d], has %d syms (%4.1f%%)
pass %d: size is %d, grp uses are
bytes: mapping %d,
code lengths %d,
block %d: crc = 0x%08x, combined CRC = 0x%08x, size = %d
final combined CRC = 0x%08x
The bz2 python module was written by:
Gustavo Niemeyer <email@example.com>
read([size]) -> string
Read at most size uncompressed bytes, returned as a string. If the size
argument is negative or omitted, read until EOF is reached.
readline([size]) -> string
Return the next line from the file, as a string, retaining newline.
A non-negative size argument will limit the maximum number of bytes to
return (an incomplete line may be returned then). Return an empty
string at EOF.
readlines([size]) -> list
Call readline() repeatedly and return a list of lines read.
The optional size argument, if given, is an approximate bound on the
total number of bytes in the lines returned.
xreadlines() -> self
For backward compatibility. BZ2File objects now include the performance
optimizations previously implemented in the xreadlines module.
write(data) -> None
Write the 'data' string to file. Note that due to buffering, close() may
be needed before the file on disk reflects the data written.
writelines(sequence_of_strings) -> None
Write the sequence of strings to the file. Note that newlines are not
added. The sequence can be any iterable object producing strings. This is
equivalent to calling write() for each string.
seek(offset [, whence]) -> None
Move to new file position. Argument offset is a byte count. Optional
argument whence defaults to 0 (offset from start of file, offset
should be >= 0); other values are 1 (move relative to current position,
positive or negative), and 2 (move relative to end of file, usually
negative, although many platforms allow seeking beyond the end of a file).
Note that seeking of bz2 files is emulated, and depending on the parameters
the operation may be extremely slow.
tell() -> int
Return the current file position, an integer (may be a long integer).
close() -> None or (perhaps) an integer
Close the file. Sets data attribute .closed to true. A closed file
cannot be used for further I/O operations. close() may be called more
than once without error.
__enter__() -> self.
__exit__(*excinfo) -> None. Closes the file.
BZ2File(name [, mode='r', buffering=0, compresslevel=9]) -> file object
Open a bz2 file. The mode can be 'r' or 'w', for reading (default) or
writing. When opened for writing, the file will be created if it doesn't
exist, and truncated otherwise. If the buffering argument is given, 0 means
unbuffered, and larger numbers specify the buffer size. If compresslevel
is given, must be a number between 1 and 9.
Add a 'U' to mode to open the file for input with universal newline
support. Any line ending in the input file will be seen as a '\n' in
Python. Also, a file so opened gains the attribute 'newlines'; the value
for this attribute is one of None (no newline read yet), '\r', '\n',
'\r\n' or a tuple containing all the newline types seen. Universal
newlines are available only when reading.
compress(data) -> string
Provide more data to the compressor object. It will return chunks of
compressed data whenever possible. When you've finished providing data
to compress, call the flush() method to finish the compression process,
and return what is left in the internal buffers.
flush() -> string
Finish the compression process and return what is left in internal buffers.
You must not use the compressor object after calling this method.
BZ2Compressor([compresslevel=9]) -> compressor object
Create a new compressor object. This object may be used to compress
data sequentially. If you want to compress data in one shot, use the
compress() function instead. The compresslevel parameter, if given,
must be a number between 1 and 9.
decompress(data) -> string
Provide more data to the decompressor object. It will return chunks
of decompressed data whenever possible. If you try to decompress data
after the end of stream is found, EOFError will be raised. If any data
was found after the end of stream, it'll be ignored and saved in
BZ2Decompressor() -> decompressor object
Create a new decompressor object. This object may be used to decompress
data sequentially. If you want to decompress data in one shot, use the
decompress() function instead.
compress(data [, compresslevel=9]) -> string
Compress data in one shot. If you want to compress data sequentially,
use an instance of BZ2Compressor instead. The compresslevel parameter, if
given, must be a number between 1 and 9.
decompress(data) -> decompressed data
Decompress data in one shot. If you want to decompress data sequentially,
use an instance of BZ2Decompressor instead.
The python bz2 module provides a comprehensive interface for
the bz2 compression library. It implements a complete file
interface, one shot (de)compression functions, and types for