wordmarker.utils package

作者

陈思祥

时间

2021年4月

概述

当前模块是工具模块,有操作日志、文件等的工具类

  1. wordmarker.utils.logger

    日志工具类。
    
  2. wordmarker.utils.yaml

    yaml文件工具类。
    
  3. wordmarker.utils.file

    文件、路径工具类。
    

Submodules

wordmarker.utils.file module

class PathUtils(src, tgt)[源代码]

基类:wordmarker.contexts.system_context.SystemContext

路径工具类
static filter_file(file_list: Union[list, str], suffix_list: Union[list, str])[源代码]

注解

通过后缀名,过滤文件

参数
  • file_list – 文件或文件列表

  • suffix_list – 后缀或后缀列表

返回

  • 过滤后的文件或文件列表

get_relative_path()[源代码]

注解

将两个路径拼接起来

例子:

src = c:/a/b/c

tgt = ../../d/c.txt

final = c:/a/d/c.txt

-------------------------------

src = c:/a/b/c/foo.txt

tgt = ../../d/c.txt

final = c:/a/d/c.txt
返回

  • 最终路径

wordmarker.utils.logger module

class LoggerFactory[源代码]

基类:object

logger工厂,获取logger对象
static get_logger(logger_name=None)[源代码]

注解

获取日志对象 logger

参数

logger_namelogger 名字

返回

  • 日志对象 logger

log(fun)[源代码]

注解

装饰器,为类注入logger对象

小技巧

在类的 __init__ 方法上加上 @log ,可以通过类的 self._logger 获取到 logger 对象,来打印日志

你也可以直接使用 LoggerFactory 获取 logger 对象,来打印日志

错误

只能放在类的 __init__ 方法上,不能放在类上,放在类上会修改类的元类

如果当前类是被继承或继承了某个类,会导致元类冲突的异常,所以目前只支持放在 __init__ 方法上

wordmarker.utils.yaml module

class YamlUtils(*args)[源代码]

基类:object

yaml文件工具类
get_value(yaml_dict, prop_list, temp_prop, file_name)[源代码]

注解

递归调用获取yaml文件中属性对应的值

参数
  • yaml_dict – yaml文件中的数据,以字典形式存放

  • prop_list – 属性列表,例如: pdbc.engine.url -> [pdbc, engine, url]

  • temp_prop – 临时属性,在日志中进行提示,例如: pdbc.engine.url

  • file_name – yaml文件名

返回

  • yaml文件中属性对应的值