StreamReader

from panda3d.core import StreamReader
class StreamReader

Bases:

A class to read sequential binary data directly from an istream. Its interface is similar to DatagramIterator by design; see also StreamWriter.

Inheritance diagram

Inheritance diagram of StreamReader

__init__(copy: StreamReader)

The copy constructor does not copy ownership of the stream.

__init__(in: istream, owns_stream: bool)

If owns_stream is true, the stream pointer will be deleted when the StreamReader destructs.

assign(copy: StreamReader) StreamReader
extract_bytes(size: int) object

Extracts the indicated number of bytes in the stream and returns them as a string. Returns empty string at end-of-file.

get_be_float32() float

Extracts a 32-bit single-precision big-endian floating-point number. Since this kind of float is not necessarily portable across different architectures, special care is required.

get_be_float64() float

Extracts a 64-bit big-endian floating-point number.

get_be_int16() int

Extracts a signed big-endian 16-bit integer.

get_be_int32() int

Extracts a signed big-endian 32-bit integer.

get_be_int64() int

Extracts a signed big-endian 64-bit integer.

get_be_uint16() int

Extracts an unsigned big-endian 16-bit integer.

get_be_uint32() int

Extracts an unsigned big-endian 32-bit integer.

get_be_uint64() int

Extracts an unsigned big-endian 64-bit integer.

get_bool() bool

Extracts a boolean value.

get_fixed_string(size: int) str

Extracts a fixed-length string. However, if a zero byte occurs within the string, it marks the end of the string.

get_float32() float

Extracts a 32-bit single-precision floating-point number. Since this kind of float is not necessarily portable across different architectures, special care is required.

get_float64() float

Extracts a 64-bit floating-point number.

get_int16() int

Extracts a signed 16-bit integer.

get_int32() int

Extracts a signed 32-bit integer.

get_int64() int

Extracts a signed 64-bit integer.

get_int8() int8_t

Extracts a signed 8-bit integer.

get_istream() istream

Returns the stream in use.

get_string() str

Extracts a variable-length string.

get_string32() str

Extracts a variable-length string with a 32-bit length field.

get_uint16() int

Extracts an unsigned 16-bit integer.

get_uint32() int

Extracts an unsigned 32-bit integer.

get_uint64() int

Extracts an unsigned 64-bit integer.

get_uint8() uint8_t

Extracts an unsigned 8-bit integer.

get_z_string() str

Extracts a variable-length string, as a NULL-terminated string.

property istream istream

Returns the stream in use.

readline() object

Assumes the stream represents a text file, and extracts one line up to and including the trailing newline character. Returns empty string when the end of file is reached.

The interface here is intentionally designed to be similar to that for Python’s File.readline() function.

readlines() object
skip_bytes(size: int)

Skips over the indicated number of bytes in the stream.