mrlantan

Untitled

Oct 30th, 2016
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.06 KB | None | 0 0
  1. import sys
  2. import traceback
  3.  
  4. def force_load(file_name):
  5.     f = open(file_name + '.py')
  6.     lines = f.read()
  7.     f.close()
  8.     # new_lines = list()
  9.     ldict = {}
  10.     while (True):
  11.         try:
  12.             exec(lines)
  13.         except Exception:
  14.             exc = traceback.format_exc()
  15.             exc_lines = exc.split('\n');
  16.             index = 0
  17.             for line in exc_lines:
  18.                 pos = line.find('<string>')
  19.                 if pos != -1:
  20.                     line_pos = index
  21.                     break
  22.                 index += 1
  23.  
  24.             line_num_str = exc_lines[index]
  25.             pos1 = line_num_str.find('line')
  26.             line_num_str = line_num_str[pos1 + 5:]
  27.             pos2 = line_num_str.find(',')
  28.             if pos2 != -1:
  29.                 line_num_str = line_num_str[:pos2]
  30.             line_num = int(line_num_str)
  31.  
  32.             lines = lines.split('\n')
  33.             lines.pop(line_num - 1)
  34.             lines = '\n'.join(lines)
  35.         else:
  36.             exec(''.join(lines), globals(), ldict)
  37.             return ldict
Add Comment
Please, Sign In to add comment