You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
__author__ = 'Chris'
import os import time import hashlib from itertools import dropwhile import sys
sys.path.append(os.path.dirname(__file__))
def generate_pyfilename(): '''
generates a random filename by hashing the current time stamp Leading numbers are dropped from the filename for import compatibility '''
hash = hashlib.md5(str(time.time())).hexdigest() return ''.join(dropwhile(lambda c: c.isdigit(), hash))
def load(module_source): tmp_filename = generate_pyfilename() tmp_filedir = os.path.dirname(__file__) tmp_filepath = os.path.join(tmp_filedir, tmp_filename)
tmp_py_file = tmp_filepath + '.py' tmp_pyc_file = tmp_filepath + '.pyc'
try: with open(tmp_py_file, 'w') as f: f.write(module_source) return __import__(tmp_filename) finally: os.remove(tmp_py_file) os.remove(tmp_pyc_file)
if __name__ == '__main__': pass
|