python:字符串作为子命令的标准输入

Len*_*enB 5 python shell

我有一个 python 脚本,需要在其中调用 shell 命令。shell 命令可以接受来自文件或标准输入的输入。

在我的脚本中,输入存储在变量中。调用命令的正确方法是什么?如果重要的话,shell 命令不会产生任何输出。

我知道我可以将变量的内容写入文件并使用该文件作为参数调用命令,但这似乎不优雅。当然,还有更好的方法。

有人能告诉我那是什么吗?谢谢。

zon*_*ndo 5

您可以使用子流程模块。

import subprocess
process = subprocess.Popen(["Mycommand", "with", "arguments"], stdin=subprocess.PIPE)
process.communicate("My text")
Run Code Online (Sandbox Code Playgroud)