Spaces:
Build error
Build error
File size: 1,401 Bytes
6250360 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
#coding=utf-8
import logging
def add_to_path(path):
'''
add path to sys.path.
'''
import sys;
sys.path.insert(0, path);
def add_ancester_dir_to_path(fp, p):
'''
add ancester directory to sys.path.
fp: usually __file__
p : the relative path to be added.
'''
import util
parent_path = util.io.get_dir(fp)
path = util.io.join_path(parent_path, p)
add_to_path(path)
def is_main(mod_name):
return mod_name == '__main__'
def import_by_name(mod_name):
__import__(mod_name)
return get_mod_by_name(mod_name)
def try_import_by_name(mod_name, error_path):
try:
import_by_name(mod_name)
except ImportError:
logging.info('adding %s to sys.path'%(error_path))
add_to_path(error_path)
import_by_name(mod_name)
return get_mod_by_name(mod_name)
def get_mod_by_name(mod_name):
import sys
return sys.modules[mod_name]
def load_mod_from_path(path, keep_name = True):
""""
Params:
path
keep_name: if True, the filename will be used as module name.
"""
import util
import imp
path = util.io.get_absolute_path(path)
file_name = util.io.get_filename(path)
module_name = file_name.split('.')[0]
if not keep_name:
module_name = '%s_%d'%(module_name, util.get_count())
return imp.load_source(module_name, path)
|