HiveNetCore.redirect_stdout module

重定向标准界面输出的处理模块

class HiveNetCore.redirect_stdout.EnumOriginalStdoutWriteType(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[源代码]

基类:Enum

对原始的stdout的输出方式

After = 'After'
Before = 'Before'
NoWrite = 'NoWrite'
class HiveNetCore.redirect_stdout.EnumRedirectOutputHandlerType(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[源代码]

基类:Enum

重定向输出句柄类型

Consloe = 'Consloe'
File = 'File'
Logger = 'Logger'
String = 'String'
StringList = 'StringList'
class HiveNetCore.redirect_stdout.RedirectOutput(auto_start=True, original_stdout=None, original_stdout_write_type=EnumOriginalStdoutWriteType.Before, is_asyn=False, output_handlers=[], wait_write_end_when_asyn=False)[源代码]

基类:object

输出重定向类

(参考材料: @see https://www.cnblogs.com/turtle-fly/p/3280519.html)

参数
  • auto_start (bool) – default=False, 是否初始化时自动启动重定向处理

  • original_stdout (object) – default=None, 初始输出对象,如果为None则记录为sys.stdout

  • original_stdout_write_type (EnumOriginalStdoutWriteType) – default=EnumOriginalStdoutWriteType.NoWrite, 对原始的stdout的输出处理方式

  • is_asyn (bool) – default=False, 是否异步处理(异步处理通过队列缓存通过线程写,可以快速返回结果)

  • output_handlers (RedirectOutputHandler[]) – default=list(), 需要重定向到的输出对象(RedirectOutputHandler)列表

  • wait_write_end_when_asyn (bool) – default=False, 异步模式关闭重定向时是否等待全部对象写完

__init__(auto_start=True, original_stdout=None, original_stdout_write_type=EnumOriginalStdoutWriteType.Before, is_asyn=False, output_handlers=[], wait_write_end_when_asyn=False)[源代码]

构造函数

参数
  • auto_start (bool) – default=False, 是否初始化时自动启动重定向处理

  • original_stdout (object) – default=None, 初始输出对象,如果为None则记录为sys.stdout

  • original_stdout_write_type (EnumOriginalStdoutWriteType) – default=EnumOriginalStdoutWriteType.NoWrite, 对原始的stdout的输出处理方式

  • is_asyn (bool) – default=False, 是否异步处理(异步处理通过队列缓存通过线程写,可以快速返回结果)

  • output_handlers (RedirectOutputHandler[]) – default=list(), 需要重定向到的输出对象(RedirectOutputHandler)列表

  • wait_write_end_when_asyn (bool) – default=False, 异步模式关闭重定向时是否等待全部对象写完

flush()[源代码]

清空输入缓存(实现标准输出必须包括的函数)

start_redirect()[源代码]

启动重定向处理

stop_redirect()[源代码]

停止重定向处理

write(data)[源代码]

输出函数(实现标准输出必须包括的函数)

参数

data (string) – 要输出的文本

class HiveNetCore.redirect_stdout.RedirectOutputHandler(handler_type=EnumRedirectOutputHandlerType.Consloe, output_obj=None, is_flush=False, encoding='utf-8')[源代码]

基类:object

输出重定向句柄

定义RedirectOutput类处理所需的输出句柄,实现真正的输出逻辑,使用方法有两类:

1、直接使用该类生成默认的重定向句柄对象 2、自定义输出句柄,继承该类,重载write和flush函数

参数
  • handler_type (EnumRedirectOutputHandlerType) – default=EnumRedirectOutputHandlerType.Consloe, 输出句柄类型

  • output_obj (object) –

    default=None, 输出对象,根据handler_type不同传入不同参数

    Consloe : 无需传入

    File : string, 传入文件名路径

    String : list[0]=string,传入初始字符串,后续在该基础上逐步扩展(注意,是一个长度为1的数组)

    StringList : list(),传入初始字符对象列表

    Logger : 日志对象,传入对象需满足:

    1、标准logging的logger对象

    2、自定义的日志类对象,但应实现info的标准方法

    注意: Logger对象不支持清空flush方法

  • is_flush (bool) – default=False, 初始化时是否清空输出缓存(清空输出对象)

  • encoding (string) – default=’utf-8’, 输出字符编码

__init__(handler_type=EnumRedirectOutputHandlerType.Consloe, output_obj=None, is_flush=False, encoding='utf-8')[源代码]

构造函数

参数
  • handler_type (EnumRedirectOutputHandlerType) – default=EnumRedirectOutputHandlerType.Consloe, 输出句柄类型

  • output_obj (object) –

    default=None, 输出对象,根据handler_type不同传入不同参数

    Consloe : 无需传入

    File : string, 传入文件名路径

    String : list[0]=string,传入初始字符串,后续在该基础上逐步扩展(注意,是一个长度为1的数组)

    StringList : list(),传入初始字符对象列表

    Logger : 日志对象,传入对象需满足:

    1、标准logging的logger对象

    2、自定义的日志类对象,但应实现info的标准方法

    注意: Logger对象不支持清空flush方法

  • is_flush (bool) – default=False, 初始化时是否清空输出缓存(清空输出对象)

  • encoding (string) – default=’utf-8’, 输出字符编码

flush()[源代码]

清空输入缓存(清空输出对象, 实现标准输出必须包括的函数)

write(data)[源代码]

输出函数,将数据写入输出对象(实现标准输出必须包括的函数)

参数

data (string) – 要输出的文本