通过fabri重新映射文件时出错

2024-06-16 10:58:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试编写一个fabric任务,该任务将包含从内部id到外部id的映射的文件greps。一旦获得该信息,我就可以在部署期间对其执行一些操作。然而,我被困在第一步。我肯定我错过了一些显而易见的东西。以下是当前函数失败的地方:

def mapFromIntId(intId):
  sudo('grep -i "%s" /data/ids/*' % intId)

运行此程序时,我收到以下错误:

^{pr2}$

它看起来是正确的,如果我自己运行显示的命令,它可以正常工作。这需要几秒钟,因为id文件相当大。但它确实完成了。在

任何帮助都将不胜感激。谢谢。在


Tags: 文件函数信息ididsdata部署def
1条回答
网友
1楼 · 发布于 2024-06-16 10:58:35

Grep在许多不同的情况下返回非零退出代码。从手册页:

EXIT STATUS The grep utility exits with one of the following values:

 0     One or more lines were selected.
 1     No lines were selected.
 >1    An error occurred.

所以这里有一个不匹配的退出代码。只需使用上下文管理器并将节设置为warn_only

from fabric.api import settings, run

def test(path):
    with settings(warn_only=True):
        return run('grep ...')

参考号:

相关问题 更多 >