class_docstr: wraps an OnDisk object for use from C++ 
code: def get_codes(self, list_no):
      oil = self.oil
      assert 0 <= list_no < oil.lists.size()
      l = oil.lists.at(list_no)
      with open(oil.filename, "rb") as f:
          f.seek(l.offset)
          return f.read(l.size * oil.code_size)
  
imports: import numpy
  import unittest
  import faiss
  import tempfile
  import os
  import io
  import sys
  import pickle
  from multiprocessing.pool import ThreadPool
label_desc: Use image node_id 3 for calling the PyOndiskInvertedLists obj's underlying member method code with example usage: obj.get_codes(list_no) and returns: f