如何将 shell 命令传递到 Python 脚本

How to pass a shell command into Python script

您好,我想在 linux 终端中传递一个 shell 命令以将变量传递给 Python 脚本:

这是 linux 中的命令:

echo "azerty"

我的 python 脚本将是一个打印结果的非常简单的脚本。脚本的名称是 test.py

在我的终端中我会使用:

echo "azerty" | ./test.py

并且会 return :

azerty

也许你能帮上忙。谢谢

当你在任何 POSIX shell 中执行 some_command | other_command 时,它实际上所做的是将 some_command 的标准输出(称为 stdout)重定向到标准other_command 的输入(称为标准输入)。在 python 中,您可以使用 sys 模块访问标准输入。

来自official python documentation 关于sys.stdin :

These streams are regular text files like those returned by the open() function.

读取python中的标准输入就这么简单:

import sys
content = sys.stdin.read()
print(content)