为什么bufsize=1在子流程中不起作用.波本?

我在文档中读到" bufsize = 1"会导致线缓冲. (为了 subproces.popen) 以下小程序启动可执行文件,然后接收 它的输出. 有效,但我想 接收每行,因为它是outut,而不是终止时的所有行, 正在发生的事情. ------------------------------------------------------------------------------------ ------- 来自子进口的subocors popen,管道 从OS导入删除,SEP p = popen("." + sep +" myprogram",stdout = pipe,bufsize = 1) 而(1): 行= p.stdout.readline()#获取下一行 印刷线, 如果line.count(" terminator"): 休息 ------------------------------------------------------------------------------------ ------ 如何获得线条缓冲? 米切尔·蒂明(Mitchell Timin) - - 我为http://annevolve.sourceforge.net感到自豪. 如果您想编写软件, 或文章,或对Annevolve进行测试或研究,请告诉我. 人类可能知道我的电子邮件地址是:(但删除3位数字) Zenguy在Shaw666 Dot CA

# 回答1

中,我写道: 从Python一侧,您只能控制Python的输入缓冲区,但不能控制 您启动的外部程序的输出缓冲区. 我猜是 程序缓冲其输出. 再见, marc'blackjack'rintsch
# 回答2

Marc'blackjack'Rintsch写道:从Python一侧,您只能控制Python的输入缓冲区,而不能控制您启动的外部程序的输出缓冲区. 我猜该程序可以缓冲其输出. Ciao,Marc'Blackjack'Rintsch 那讲得通. 我记得现在有人告诉我窗户 仅将线路发送到屏幕. 到管道上将缓冲区装满. 谢谢, 米切尔·蒂明(Mitchell Timin) - - 我为http://annevolve.sourceforge.net感到自豪. 如果您想编写软件, 或文章,或对Annevolve进行测试或研究,请告诉我. 人类可能知道我的电子邮件地址是:(但删除3位数字) Zenguy在Shaw666 Dot CA

标签: python

添加新评论