def load(cls, path):
# Loads programs and handles optimized files.
ws = path + '.ws'
cp = path + '.wso'
compiled = False
if os.path.isfile(cp):
compiled = True
if os.path.isfile(ws):
if os.path.getmtime(ws) > os.path.getmtime(cp):
compiled = False
final = cls._final()
cls._check(final)
if compiled:
try:
with open(cp, 'rb') as file:
code = file.read(len(final))
cls._check(code)
data = file.read()
return cls(pickle.loads(zlib.decompress(data)))
except:
pass
data = load(ws)
code = trinary(data)
program = parse(code)
serialized = pickle.dumps(program, pickle.HIGHEST_PROTOCOL)
optimized = zlib.compress(serialized, 9)
with open(cp, 'wb') as file:
file.write(final + optimized)
return cls(program)
评论列表
文章目录