Python:使用控制台的句柄生成子进程,同时仍然捕获输出

时间:2017-11-07 23:21:52

标签: python console subprocess windows-console

我有一个相当小的python脚本,它包含了一个更复杂的Java程序。 python脚本从环境中收集一些信息,然后使用一些适当的参数调用java程序。

java程序需要访问实际的控制台句柄,以便输入密码。具体来说,它使用System.console().readPassword(),但如果您使用python中的System.console(),则subprocess.PIPE为空。不使用PIPE不是一个选项,因为我需要读取java程序的输出,因为在某些情况下,包装器需要根据输出采取行动。

我完全无法找到满足这两个条件的方法(Java可以访问真正的控制台句柄,我仍然可以从中收集输出),而无需使用大量特定于平台的代码。使用pty似乎是Unix-verse的一个好角度,但Windows的选项似乎仅限于数百行ctype废话。

有没有办法合理地做到这一点(使用python的stdlib)?

0 个答案:

没有答案