如何通过rpyc获取命令输出?

1 投票
1 回答
1253 浏览
提问于 2025-04-28 21:57

我需要通过 rpyc 来运行一个命令,并获取这个命令的结果。

但是每次我运行命令时,结果都是在远程服务器上打印出来的,我无法得到结果。

我现在的做法是这样的:

import os, sys
import rpyc

conn = rpyc.classic.connect('server_remote')
a = conn.modules.os.system( "ls -lh")

print a

我运行的任何命令的输出结果都是 0。

python get_output.py
0
暂无标签

1 个回答

1

用 os.popen 或 subprocess.checked_output 来代替 system。因为 system 只会返回一个退出代码,而输出内容会直接打印到你的标准输出(也就是你看不到这些内容,无法在程序中获取到)。

撰写回答