python subprocess.run输入不起作用?

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

我正在尝试在python中运行命令:

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

尽管该命令似乎没有处理stdin(它不再显示任何单词,而在下面的示例中却显示已成功破解)。

我决定这样做是因为我对bash管道的印象是1。 bash管道将stdout重定向到stdin和2。。/rarcrack从stdin接受了一个参数,因为这样的命令

echo 'nano1 nano2'| ./rarcrack walks.rar

作品。

而且我不认为我可以将单词作为另一个参数(我不知道C)

程序从github.com/hyc/rarcrack编译

python subprocess
1个回答
0
投票

问题是您用stdout=DEVNULL放弃了任何结果。您只会看到错误输出,看不到成功。

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