Bash输出错误

2024-03-29 00:27:50 发布

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

我很抱歉,如果这是一个重复,我找不到这个问题的任何其他例子。你知道吗

我正在尝试编写一个自然语言识别程序,我正在读一篇博客文章,其中有人试图做一些类似的事情,它建议使用这两行代码来捕获输出。你知道吗

#capture output of script
./get-language.py | tee preptxt

我搞不懂这段代码要做什么。我假设它运行的是get语言文件,但是语法在我看来并不正确。有人能给我指出正确的方向吗?你知道吗


Tags: of代码py程序outputget文章script
3条回答

这不是一行python,而是一个shell脚本。你知道吗

它正在运行一个名为get的脚本-语言.py(我假设在那个博客的其他地方已经描述过了,并进行了实际的语言处理),然后是通过unix命令行程序tee输出的“管道”,它将输出存储在一个文件中。你知道吗

管道接收一个程序的输出,并将其用作另一个程序的输入。你知道吗

那是贝壳,不是Python。.是当前目录;从那里运行get-language.py。你知道吗

在Unix系统上,可以使用/path/to/my/executable运行可执行文件。 这不是python特有的。 由于.是当前工作目录,因此您正在执行位于当前目录中的get-language.py脚本。你知道吗

但是,要使其适用于您的脚本,您需要做两件事:

1。添加一个shebang

这是脚本的第一行,它告诉shell要使用哪个程序。 要使用PATH中的第一个python解释器,请使用:

#!/usr/bin/env python

2。添加使脚本可执行的权限:

你需要允许执行你的脚本。这可以通过chmod实现:

chmod +x myscript.py

最后一部分是所谓的管道操作。 如果你这样调用两个程序:

$ program_a | program_b

program_a的输出(stdout)被馈送到program_b。你知道吗

相关问题 更多 >