我一直认为在 Python 中迭代类文件相当于readline
循环调用它的方法,但今天我发现情况并非如此。具体来说,我有一个' Popen
d 过程p
list(itertools.takewhile(lambda x: x != "\n",
p.stdout))
挂起(可能是因为p
等待输入;两者stdin
都是stdout
我的 Python 进程的管道),而以下工作:
list(itertools.takewhile(lambda x: x != "\n",
iter(p.stdout.readline, "")))
有人可以解释其中的区别吗?