Source code for mooncake_utils.data

# -*- coding:utf-8 -*-

# @author Yue Bin ( hi.moonlight@gmail.com )
# @date 2017-06-07
import os,sys
import mmap

[docs]def read_mmap(fn): """read_mmap :param fn: """ with open(fn, "r+b") as f: map = mmap.mmap(f.fileno(), 0, prot=mmap.PROT_READ) for line in iter(map.readline, ""): yield line.rstrip('\n')
[docs]def trunc(f, n = 4): """trunc :param f: :param n: """ s = '{}'.format(f) if 'e' in s or 'E' in s: return float('{0:.{1}f}'.format(f, n)) i, p, d = s.partition('.') ret = '.'.join([i, (d+'0'*n)[:n]]) return float(ret)
[docs]def parse_int(m, default = 0): """parse_int :param m: :param default: """ if type(m) == int: return m elif type(m) == str: try: return int(m) except: return default else: raise Exception('error input %s, cannot parse' % m)
[docs]def parse_float(m, default = 0.0): """parse_float :param m: :param default: """ if type(m) == int: return m elif type(m) == str: try: return float(m) except: return default else: raise Exception('error input %s, cannot parse' % m)
if __name__ == "__main__": pass