Skip to main content

器具

内部子程序。使用错误消息中止执行,或对多行输出执行缩进。

fabric.utils.abort(msg)

中止执行,将 msg 打印到stderr并退出并显示错误状态(1.)

此功能目前以类似于 sys.exit 的方式使用 SystemExit (但是它会跳过自动打印到stderr,从而允许我们通过设置更严格地控制它)。

因此,可以通过使用 except SystemExit 或类似的来检测和从内部调用恢复到 abort

fabric.utils.error(message, func=None, exception=None, stdout=None, stderr=None)

调用 func 给定的错误 message

如果 func 为None(默认值),env.warn_only 的值决定是调用 abort 还是 warn

如果给出了 exception,将检查它以获取字符串消息,该消息将与用户生成的 message 一起打印。

如果给出 stdout 和/或 stderr,则假定它们是要打印的字符串。

fabric.utils.fastprint(text, show_prefix=False, end='', flush=True)

立即打印 text,不带任何前缀或行尾。

此函数仅仅是具有不同默认参数值的 puts 的别名,使得 text 被打印而没有任何装饰并立即刷新。

它适用于任何您希望打印文本的情况,否则这些文本可能会被Python的输出缓冲(例如在处理器密集型 for 循环中)缓冲。由于这种使用情况通常还需要缺少行尾(例如打印一系列点来表示进度),因此默认情况下它也省略了传统的换行符。

注解

由于 fastprint 呼叫 puts,它同样受制于 user 输出电平

0.9.2 新版功能.

参见

puts

fabric.utils.indent(text, spaces=4, strip=False)

返回由给定数目的空格缩进的 text

如果文本不是字符串,则假定它是一个行的列表,并且在缩进之前将由 \n 连接。

stripTrue 时,从给定字符串的左侧删除最小量的空白(以便保留相对缩进,否则事物被左移)。这允许您有效地“规范化”某些输入的任何以前的缩进。

fabric.utils.isatty(stream)

检查流是否为tty。

不是所有类文件对象都实现 isatty 方法。

fabric.utils.puts(text, show_prefix=None, end='\n', flush=False)

print 的别名,其输出由Fabric的输出控件管理。

换句话说,此函数只打印到 sys.stdout,但如果 user 输出电平 设置为 False,则会隐藏其输出。

如果 show_prefix=Falseputs 将省略它在默认情况下固定的前导 [hostname]。 (如果 env.host_string 为空,它也将省略此前缀。)

可以通过将 end 设置为空字符串('')来禁用换行符。 (这有意反映Python 3的 print 语法。)

您可以通过设置 flush=True 来强制输出刷新(例如,绕过输出缓冲)。

0.9.2 新版功能.

参见

fastprint

fabric.utils.warn(msg)

打印警告消息,但不要中止执行。

此功能尊重Fabric的 输出控制,并将打印给定的 msg 到stderr,前提是 warnings 输出电平(默认情况下处于活动状态)打开。