输入stdin的subprocess.run不处理。

问题描述 投票:0回答:1

我试图在python中运行一个命令。

from subprocess import run, DEVNULL
run(["./rarcrack",'walks.rar'], text=True, input='nano1 nano2', stdout=DEVNULL)

命令似乎无法处理 stdin 虽然(上面写着没有字了,而在下面的例子中却写着成功破解了)。

我决定这么做是因为我印象中。

  1. bash管重定向 stdoutstdin
  2. ./rarcrack 取自 stdin 因为像 echo 'nano1 nano2' | ./rarcrack walks.rar 工作。

而且我觉得我不能把单词作为另一个参数传进去(我不懂C语言)。

程序是 此处

python subprocess
1个回答
0
投票

问题是,你丢弃了任何与 stdout=DEVNULL. 你只能看到错误的输出,看不到成功的输出。

© www.soinside.com 2019 - 2024. All rights reserved.