【发布时间】:2014-09-21 14:43:57
【问题描述】:
我需要通过服务器中某些文件的 2eb 套接字进行异步交互式日志操作(在发生某些事情时读取并写入),但首先我想了解如何交互式和异步读取和写入文件。
我还在“阅读”部分。
如果我执行以下代码,同时我打开一个控制台并通过以下方式编写代码
echo foo > file.txt
我预计龙卷风控制台会发生一些事情。但是。。没什么。一些忠告?该文档不包含任何关于 tornado.iostream.PipeIOStream 的示例(或者我没有找到它们)
import os
import tornado.ioloop
import tornado.web
clientpath = '../client'
port = 8888
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.render("index.html")
def tail(data):
print "> ", data, " ."
if __name__ == "__main__":
settings = {
"template_path": os.path.join(os.path.dirname(__file__), clientpath)
}
handlers = [
(r"/", MainHandler),
]
fd = open("file.txt")
stream = tornado.iostream.PipeIOStream(fd.fileno())
stream.read_until('\n', tail)
application = tornado.web.Application(handlers, **settings)
application.listen(port)
tornado.ioloop.IOLoop.instance().start()
【问题讨论】:
标签: python asynchronous tornado