+
+
+def end_with(_s_in, *suffix):
+ """
+ Check if end with given suffix
+ :param _s_in:
+ :param suffix:
+ :return:
+ """
+ array = map(_s_in.endswith, suffix)
+ if True in array:
+ return True
+ return False
+
+
+def filter_files(search_path, suffix):
+ """
+ Filter file by given suffix
+ :param search_path:
+ :param suffix:
+ :return:
+ """
+ f_find = []
+ file_list = os.listdir(search_path)
+ for file_item in file_list:
+ if end_with(file_item, suffix):
+ f_find.append(file_item)
+ return f_find
+
+
+def recreate_dir(path):
+ """
+ Recreate directory
+ :param path:
+ :return:
+ """
+ if os.path.exists(path):
+ shutil.rmtree(path)
+ os.makedirs(path, mode=0o777)
+
+
+def copy(src_file, dest_dir, new_file_name=None):
+ """
+ Copy file to given dest dir
+ :param src_file:
+ :param dest_dir:
+ :param new_file_name:
+ :return:
+ """
+ if not os.path.exists(dest_dir):
+ os.makedirs(dest_dir)
+ if new_file_name is None:
+ dst = os.path.join(dest_dir, os.path.basename(src_file))
+ else:
+ dst = os.path.join(dest_dir, new_file_name)
+ shutil.copyfile(src_file, dst)
+ shutil.copymode(src_file, dst)