io#

通用 I/O 实用程序。

#

DeltaSecondsFormatter

具有用于运行时日志记录的附加属性的日志格式化程序。

ContextDecorator

上下文管理器类的基类(实现 __enter__() 和 __exit__()),它也

SwallowBrokenPipe

上下文管理器类的基类(实现 __enter__() 和 __exit__()),它也

CaptureTarget

用于 contextmanager captured 的常量。

Spinner

ProgressBar

DummyExecutor

这是具体异步执行器的抽象基类。

ThreadLimitedThreadPoolExecutor

这是具体异步执行器的抽象基类。

time_recorder

上下文管理器类的基类(实现 __enter__() 和 __exit__()),它也

函数#

dashlist(iterable[, indent])

env_vars([var_map, callback, stack_callback])

env_var(name, value[, callback, stack_callback])

env_unmodified([callback])

captured([stdout, stderr])

捕获 sys.stdout 和 sys.stderr 的输出。

argv(args_list)

_logger_lock()

disable_logger(logger_name)

stderr_log_level(level[, logger_name])

attach_stderr_handler([level, logger_name, propagate, ...])

将新的 stderr 处理程序附加到给定的记录器并配置两者。

timeout(timeout_secs, func, *args[, default_return])

强制可调用对象在最长时间内完成。

get_instrumentation_record_file()

print_instrumentation_data()

属性#

IS_INTERACTIVE#
class DeltaSecondsFormatter(fmt=None, datefmt=None)#

基类: logging.Formatter

具有用于运行时日志记录的附加属性的日志格式化程序。

`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 ContextDecorator#

上下文管理器类的基类(实现 __enter__() 和 __exit__()),它也使其成为装饰器。

__call__(f)#
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')#
参数:
  • message (str) -- 要添加到 spinner 前缀的消息。字符串“: ”会自动追加。

  • enabled (bool) -- 如果为 False,则用法为 no-op。

  • json (bool) -- 如果为 True,则不会将非 json 输出到 stdout。

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)#
参数:
  • description (str) -- 进度条的名称,显示在输出的左侧。

  • enabled (bool) -- 如果为 False,则用法为 no-op。

  • json (bool) -- 如果为 true,则将 json 进度输出到 stdout 而不是进度条。目前,json 格式假定这仅用于“fetch”,它保持与 conda 4.3 和更早版本的行为的向后兼容性。

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 -- 如果在给定的超时时间之前无法生成整个结果迭代器。

  • Exception -- 如果 fn(*args) 对任何值引发异常。

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 的替代方案来代替这些受保护的导入。

agronholm/pythonfutures # NOQA python/cpython

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()#