fs.py 文件源码

python
阅读 36 收藏 0 点赞 0 评论 0

项目:TensorArtist 作者: vacancy 项目源码 文件源码
def dump(path, content, method=None, py_prefix='', py_suffix='', text_mode='w'):
    if method is None:
        method = _infer_method(path)

    assert_instance(method, IOMethod)

    path_origin = path
    if method != IOMethod.TEXT or text_mode == 'w':
        path += '.tmp'

    if method == IOMethod.PICKLE:
        with open(path, 'wb') as f:
            pickle.dump(content, f, protocol=pickle.HIGHEST_PROTOCOL)
    elif method == IOMethod.PICKLE_GZ:
        with gzip.open(path, 'wb') as f:
            pickle.dump(content, f, protocol=pickle.HIGHEST_PROTOCOL)
    elif method == IOMethod.NUMPY:
        joblib.dump(content, path)
    elif method == IOMethod.NUMPY_RAW:
        with open(path, 'wb') as f:
            content.dump(f)
    elif method == IOMethod.TEXT:
        with open(path, text_mode) as f:
            if type(content) in (list, tuple):
                f.writelines(content)
            else:
                f.write(str(content))
    elif method == IOMethod.BINARY:
        with open(path, 'wb') as f:
            f.write(content)
    else:
        raise ValueError('Unsupported dumping method: {}', method)

    if method != IOMethod.TEXT or text_mode == 'w':
        os.rename(path, path_origin)

    return path_origin
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号