Remove unused import
[pyelftools.git] / examples / elfclass_address_size.py
index e1314960faee9dc5a3bb173138bd33ffbbd41f04..ac2bfaadcc3e728249faca14d85c8f0cf9e4523b 100644 (file)
@@ -7,20 +7,30 @@
 # Eli Bendersky (eliben@gmail.com)
 # This code is in the public domain
 #-------------------------------------------------------------------------------
+from __future__ import print_function
 import sys
+
+# If pyelftools is not installed, the example can also run from the root or
+# examples/ dir of the source distribution.
+sys.path[0:0] = ['.', '..']
+
 from elftools.elf.elffile import ELFFile
 
 
 def process_file(filename):
-    with open(filename) as f:
+    with open(filename, 'rb') as f:
         elffile = ELFFile(f)
-        print '%s: elfclass is %s' % (filename, elffile.elfclass)
+        # elfclass is a public attribute of ELFFile, read from its header
+        print('%s: elfclass is %s' % (filename, elffile.elfclass))
 
         if elffile.has_dwarf_info():
             dwarfinfo = elffile.get_dwarf_info()
             for CU in dwarfinfo.iter_CUs():
-                print '  CU at offset 0x%x. address_size is %s' % (
-                    CU.cu_offset, CU['address_size'])
+                # cu_offset is a public attribute of CU
+                # address_size is part of the CU header
+                print('  CU at offset 0x%x. address_size is %s' % (
+                    CU.cu_offset, CU['address_size']))
+
 
 if __name__ == '__main__':
     for filename in sys.argv[1:]: