gpt4 book ai didi

python - 如何读取已执行的 shell 命令的输出?

转载 作者:太空宇宙 更新时间:2023-11-04 07:02:31 24 4
gpt4 key购买 nike

我已经阅读了很多关于这个主题的问题,甚至有 2 个已经接受了答案,然后在评论中出现了与我遇到的问题相同的问题。

所以我想做的是捕捉这个命令的输出(在命令行中工作)

 sudo /usr/bin/atq

在我的 Python 程序中。

这是我的代码(这是另一个问题中接受的答案)

from subprocess import Popen, PIPE

output = Popen(['sudo /usr/bin/atq', ''], stdout=PIPE)
print output.stdout.read()

这是结果:

  File "try2.py", line 3, in <module>
output = Popen(['sudo /usr/bin/atq', ''], stdout=PIPE)
File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1259, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory

为什么会这样(在 Python 2.7 中,在 debian Raspbarry Wheezy 安装上)?

最佳答案

我相信你需要做的就是改变,

output = Popen(['sudo /usr/bin/atq'], stdout=PIPE)

output = Popen(['sudo', '/usr/bin/atq'], stdout=PIPE)

当我将多个参数作为单个字符串包含在 args 列表中时,我会遇到同样的错误。

关于python - 如何读取已执行的 shell 命令的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15717584/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com