python paramiko exec_command_Python paramiko脚本,在exec_command()期间读取输出时出现问题...

背景:

我使用python和paramiko来自动化每次我必须提交一个类程序时所经历的过程。我们使用一个名为“handin”的命令来提交源代码,但这必须通过学校的计算机来完成。因此,当我从家里提交代码时,我必须:将sftp放入学校服务器,将文件放入dir,ssh放入学校计算机,使用“handin”命令

我能成功地把文件放到学校的机器上。当我试图使用exec_命令('handin my files')然后读取输出以确定下一个操作时,就会出现问题。

所以我有try:

(stdin, stdout, stderr) = client.exec_command(s)

except:

print 'whoops'

sys.exit()

print stdout.readlines()

但这会导致死锁,因为某些原因,脚本似乎什么也没做,我最终不得不终止整个进程(ctrl+c不起作用)。我不确定exec_命令是否没有正确完成(即使它正在脱离try/catch块),或者Im是否有网络问题或什么。

有什么想法吗?

更新:

问题是在执行期间与handin命令交互。执行命令后,handin可能正在运行,也可能不在运行。如果这是第一次提交它说成功,嘘嘘,并完成执行。一切都很好。但如果我要重新提交,我必须为每个文件授权覆盖(stdin.write('y'))。

TL/DR:

如何检查exec_command()是否仍在运行,等待输入,并相应地检查stdout中的readline()?