io#
通用 I/O 实用程序。
类#
具有用于运行时日志记录的附加属性的日志格式化程序。 |
|
上下文管理器类的基类(实现 __enter__() 和 __exit__()),它也 |
|
上下文管理器类的基类(实现 __enter__() 和 __exit__()),它也 |
|
用于 contextmanager captured 的常量。 |
|
这是具体异步执行器的抽象基类。 |
|
这是具体异步执行器的抽象基类。 |
|
上下文管理器类的基类(实现 __enter__() 和 __exit__()),它也 |
函数#
|
|
|
|
|
|
|
|
|
捕获 sys.stdout 和 sys.stderr 的输出。 |
|
|
|
|
|
|
|
将新的 stderr 处理程序附加到给定的记录器并配置两者。 |
|
强制可调用对象在最长时间内完成。 |
属性#
- IS_INTERACTIVE#
- class DeltaSecondsFormatter(fmt=None, datefmt=None)#
-
具有用于运行时日志记录的附加属性的日志格式化程序。
- `delta_secs`
自上次日志/格式调用(或记录器创建)以来经过的秒数。
- `relative_created_secs`
类似于 relativeCreated,相对于 logging 模块初始化的时间,但为了方便起见,缩放到秒,作为 float 值。
使用指定的格式字符串初始化格式化程序。
使用指定的格式字符串或上面描述的默认值初始化格式化程序。允许使用可选的 datefmt 参数进行专门的日期格式化。如果省略 datefmt,您将获得类似 ISO8601(或类似 RFC 3339)的格式。
使用“%”、“{”或“$”的 style 参数来指定您想要在格式字符串中使用 %-formatting、
str.format()({}) 格式化或string.Template格式化。在 3.2 版本中更改: 添加了
style参数。- format(record)#
将指定的记录格式化为文本。
记录的属性字典用作字符串格式化操作的操作数,该操作产生返回的字符串。在格式化字典之前,执行几个准备步骤。记录的消息属性使用 LogRecord.getMessage() 计算。如果格式化字符串使用时间(由调用 usesTime() 确定),则调用 formatTime() 来格式化事件时间。如果存在异常信息,则使用 formatException() 对其进行格式化并附加到消息。
- _FORMATTER#
- dashlist(iterable, indent=2)#
- class SwallowBrokenPipe#
基类:
ContextDecorator上下文管理器类的基类(实现 __enter__() 和 __exit__()),它也使其成为装饰器。
- __enter__()#
- __exit__(exc_type, exc_val, exc_tb)#
- swallow_broken_pipe#
- class CaptureTarget#
Bases:
enum.Enum用于 contextmanager captured 的常量。
类似于 stdlib 的 subprocess.Popen 的常量 PIPE、STDOUT 使用。
- STRING#
- STDOUT#
- env_vars(var_map=None, callback=None, stack_callback=None)#
- env_var(name, value, callback=None, stack_callback=None)#
- env_unmodified(callback=None)#
- captured(stdout=CaptureTarget.STRING, stderr=CaptureTarget.STRING)#
捕获 sys.stdout 和 sys.stderr 的输出。
如果 stdout 是 STRING,则将 sys.stdout 捕获为字符串;如果 stdout 是 None,则不捕获 sys.stdout,保持其不变;否则将 sys.stdout 重定向到 stdout 给出的类文件对象。
对 stderr 执行相应的操作,但如果 stderr 是 STDOUT,则将 sys.stderr 重定向到 stdout 目标,并将所产生对象的 stderr 属性设置为 None。
>>> from conda.common.io import captured >>> with captured() as c: ... print("hello world!") ... >>> c.stdout 'hello world!\n'
- 参数:
stdout -- sys.stdout 的捕获目标,为 STRING、None 或类文件对象之一
stderr -- sys.stderr 的捕获目标,为 STRING、STDOUT、None 或类文件对象之一
- Yields:
CapturedText --
- 具有属性 stdout、stderr,它们是字符串、None 或
相应的类文件函数参数。
- argv(args_list)#
- _logger_lock()#
- disable_logger(logger_name)#
- stderr_log_level(level, logger_name=None)#
- attach_stderr_handler(level=WARN, logger_name=None, propagate=False, formatter=None, filters=None)#
将新的 stderr 处理程序附加到给定的记录器并配置两者。
此函数创建一个新的 StreamHandler,它写入 stderr 并将其附加到 logger_name 给出的 logger(可以是 None,在这种情况下将使用根 logger)。如果 logger 已经有一个名为 stderr 的 handler,则会先将其删除。
给定的 level 是为 handler 设置的,而不是为 logger 设置的;但是,此函数还将给定 logger 的级别设置为其当前有效级别和新 handler 级别的最小值,从而确保 handler 将接收到所需的日志记录,同时最大限度地减少不必要的日志事件的数量。它还根据 propagate 参数设置 logger 的 propagate 属性。formatter 参数可用于设置 handler 的 formatter。
- timeout(timeout_secs, func, *args, default_return=None, **kwargs)#
强制可调用对象在最长时间内完成。尚未在 Windows 上实现。
- class Spinner(message, enabled=True, json=False, fail_message='failed\n')#
- 参数:
- spinner_cycle#
- start()#
- stop()#
- _start_spinning()#
- __enter__()#
- __exit__(exc_type, exc_val, exc_tb)#
- class ProgressBar(description, enabled=True, json=False, position=None, leave=True)#
- 参数:
- classmethod get_lock()#
- update_to(fraction)#
- finish()#
- refresh()#
强制刷新,即一旦达到 100%
- close()#
- static _tqdm(*args, **kwargs)#
延迟导入,使其不会影响 conda activate 路径。
- class DummyExecutor#
Bases:
concurrent.futures.Executor这是具体异步执行器的抽象基类。
- submit(fn, *args, **kwargs)#
提交一个可调用对象,以便使用给定的参数执行。
安排可调用对象以 fn(*args, **kwargs) 的形式执行,并返回一个 Future 实例,表示可调用对象的执行。
- Returns:
一个 Future,表示给定的调用。
- map(func, *iterables)#
返回一个等效于 map(fn, iter) 的迭代器。
- 参数:
fn -- 一个可调用对象,它将接受与传递的可迭代对象一样多的参数。
timeout -- 最长等待秒数。如果为 None,则等待时间没有限制。
chunksize -- 可迭代对象在传递给子进程之前将被分解成的块的大小。此参数仅由 ProcessPoolExecutor 使用;ThreadPoolExecutor 会忽略它。
- Returns:
map(func, *iterables),但调用可以乱序评估。
- Return type:
一个等效于的迭代器
- Raises:
TimeoutError -- 如果在给定的超时时间之前无法生成整个结果迭代器。
- shutdown(wait=True)#
清理与 Executor 关联的资源。
可以安全地多次调用此方法。否则,在此方法之后不能调用其他方法。
- 参数:
wait -- 如果为 True,则 shutdown 将不会返回,直到所有正在运行的 future 都已完成执行,并且执行器使用的资源已被回收。
cancel_futures -- 如果为 True,则 shutdown 将取消所有挂起的 future。已完成或正在运行的 Future 将不会被取消。
- class ThreadLimitedThreadPoolExecutor(max_workers=10)#
Bases:
concurrent.futures.ThreadPoolExecutor这是具体异步执行器的抽象基类。
初始化一个新的 ThreadPoolExecutor 实例。
- 参数:
max_workers -- 可用于执行给定调用的最大线程数。
thread_name_prefix -- 为我们的线程提供的可选名称前缀。
initializer -- 用于初始化 worker 线程的可调用对象。
initargs -- 要传递给 initializer 的参数元组。
- submit(fn, *args, **kwargs)#
这是父类上 submit() 方法的精确重新实现,除了在 self._adjust_thread_count() 周围添加了 try/except。只要至少有一个活动线程,如果线程无法扩展到 max_workers,此线程池将不会抛出异常。
在实现中,我们使用了来自 concurrent.futures 的“受保护”属性(_base 和 _WorkItem)。考虑将整个 concurrent.futures 库作为 vendoring 的替代方案来代替这些受保护的导入。
- as_completed#
- get_instrumentation_record_file()#
- class time_recorder(entry_name=None, module_name=None)#
基类:
ContextDecorator上下文管理器类的基类(实现 __enter__() 和 __exit__()),它也使其成为装饰器。
- record_file#
- start_time#
- total_call_num#
- total_run_time#
- _set_entry_name(f)#
- __call__(f)#
- __enter__()#
- __exit__(exc_type, exc_val, exc_tb)#
- classmethod log_totals()#
- _ensure_dir()#
- print_instrumentation_data()#