我一直在学习java和python之间的进程间通信。

我正在尝试一些新代码,但无法正常工作。

在java类中

我有一种打印方法

爪哇

public static main void (String[] args)
{
    System.out.println("this is iteration 1");
    System.out.println("this is iteration 2");
    System.out.println("this is iteration 3");
    System.out.println("this is iteration 4");
}


蟒蛇

import sys
while True:
    data = sys.readline()
    print "in python " + data


所需的输出

In python : this is iteration 1
In python : this is iteration 2
In python : this is iteration 3
In python : this is iteration 4


电流输出

In python: this is iteration 1this is iteration 2this is iteration 3this is iteration 4
[]
[]
[]
[]


新问题
但是,我的数据= sys.stdin.readline()没有阻塞。据称,我不知道我的标准输出将有多少行。我如何能够允许stdin.readline()在第一次迭代后被阻塞,因为我找不到方法来刷新stdin的缓冲区。

最佳答案

尝试使用sys.readline()代替sys.readlines()。前者将一次读取一行,后者将读取所有可用内容。

关于java - 可以简化标准输出和标准输入通讯,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28311959/

10-10 18:34