gpt4 book ai didi

Python 重定向 LSF 命令的输出

转载 作者:太空宇宙 更新时间:2023-11-04 05:52:13 25 4
gpt4 key购买 nike

我正在尝试使用子进程在 python 代码中运行 LSF 命令“bjobs”,但我无法将输出放入变量

我已经尝试过但失败的方法如下:

proc = subprocess.Popen(['bjobs'],stdout=subprocess.PIPE)
print proc.stdout.read() ## Not working

stdout,stderr = subprocess.Popen(['bjobs'],stdout=subprocess.PIPE).communicate()

print stdout # prints empty line

我不想将其重定向到物理文件。

所以请帮我想办法将它们直接捕获到一个变量

最佳答案

正如上面的评论所指出的,“未找到未完成的作业”消息被打印到标准错误:

[~]$ bjobs > /dev/null
No unfinished job found
[~]$ bjobs >& /dev/null
[~]$

如果你想要所有的bjobs输出,你应该将子进程stderr重定向到stdout:

proc = subprocess.Popen(["bjobs"],stdout=subprocess.PIPE,stderr=subprocess.STDOUT)
print proc.stdout.read()

关于Python 重定向 LSF 命令的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29694282/

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