Come si legge un file (non bloccante) e lo si stampa sullo standard output (ancora non bloccante)? Questo è il modo più esile che riesco a pensare, ma ti lascia con la sensazione che ci deve essere un modo migliore. Qualcosa che esponga alcune LineReceiver - come la modifica linea per linea - la funzionalità sarebbe ancora più preferita.Lettura del file sullo stdout con twistato
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()
Non conosco un modo migliore in [Twisted] (https://pypi.python.org/pypi/twisted) - Ma ecco come è fatto in [circuiti] (https: //pypi.python .org/pypi/circuiti) - [cat.py] (https://github.com/circuits/circuits/blob/master/examples/cat.py) –