19 def __init__(self, filename):
21 Open a root file and read its header
25 self.rootfile = open(filename,
'rb')
26 root = self.rootfile.read(4)
28 raise Exception(
"%s is not a root file" % filename)
30 self.version = int.from_bytes(self.rootfile.read(4), byteorder)
32 self.large = (self.version >= 1000000)
34 self.wordlen = 8
if self.large
else 4
36 self.begin = int.from_bytes(self.rootfile.read(4), byteorder)
38 self.end = int.from_bytes(self.rootfile.read(self.wordlen), byteorder)
40 self.seekfree = int.from_bytes(self.rootfile.read(self.wordlen), byteorder)
42 self.nbytesfree = int.from_bytes(self.rootfile.read(4), byteorder)
44 self.nfree = int.from_bytes(self.rootfile.read(4), byteorder)
46 self.nbytesname = int.from_bytes(self.rootfile.read(4), byteorder)
48 self.units = int.from_bytes(self.rootfile.read(1), byteorder)
50 self.compress = int.from_bytes(self.rootfile.read(4), byteorder)
52 self.seekinfo = int.from_bytes(self.rootfile.read(self.wordlen), byteorder)
54 self.nbytesinfo = int.from_bytes(self.rootfile.read(self.wordlen), byteorder)
56 self.uuid = self.rootfile.read(18)
59 self.header = self.rootfile.read(self.begin)
60 self.rootfile.seek(self.begin)