用扭曲将文件读取到stdout
我们如何读取文件(非阻塞)并将其打印到标准输出(仍为非阻塞)? 这是我能想到的最为神秘的方式,但它让你感觉必须有更好的方式。 暴露某些LineReceiver的东西 - 比如逐行修改 - 功能将更受欢迎。
from twisted.internet import stdio, protocol
from twisted.protocols.basic import FileSender
from twisted.internet import reactor
class FileReader(protocol.Protocol):
def connectionMade(self):
fl = open('myflie.txt', 'rb')
d = FileSender().beginFileTransfer(fl, self.transport)
d.addBoth(fl.close)
d.addBoth(lambda _: reactor.stop())
stdio.StandardIO(FileReader())
reactor.run()
这是Twisted的弱点。 异步文件I / O很难完成,可能无法做到“正确”。 有一张票已开放很长时间:https://twistedmatrix.com/trac/ticket/3983,您可以找到一个有用的地方继续讨论。
你在那里使用的成语绝对是我们目前提供的最接近正确的。
链接地址: http://www.djcxy.com/p/26139.html上一篇: Reading file to stdout with twisted
下一篇: How to retrieve photo from UITextView after adding it using NSAttributedString?