万一其他人偶然发现了这个问题,我想出了问题- 默认情况下,Python解释器仅在检测到TTY设备连接到标准输入时才进入交互模式(通常仅在从控制台运行程序的情况下才如此) )。为了重定向标准IO流,您必须将ProcessStartInfo中的UseShellExecute设置为false,这会使解释器认为没有TTY连接,这意味着它无事可做,因此立即退出。
解决方案是使用“ -i”命令行参数运行Python解释器,这将强制解释器进入交互模式,而不管是否有TTY连接到标准输入中。这使得上面的示例可以正常工作。