1

我有一些 python 龙卷风代码,用于异步获取文件

from tornado import ioloop , httpclient
def get_file(url):
    http_client = httpclient.AsyncHTTPClient()
    http_client.fetch(url,done)

def done()
    print "Done"
url = "http://localhost/files/ldfhgdksgfjkdfadf/output.pdf"
ioloop.IOLoop.instance().start()

会发生什么情况是该文件作为“output.pdf”保存在当前目录中,asynchttp 客户端有什么方法可以指定文件名?如果可以的话,我会用某个名称调用该文件并将其保存在当前目录以外的其他目录中。

4

1 回答 1

2

如何读取response.body指定的回调并将其写入适当的文件,例如:

from tornado import ioloop, httpclient


def get_file(url):
    http_client = httpclient.AsyncHTTPClient()
    http_client.fetch(url, callback=done)


def done(response):
    with open("my_favorite_directory/my_favorite_filename.pdf", "w") as f:
        f.write(response.body)
    print "DONE"


get_file("http://samplepdf.com/sample.pdf")
ioloop.IOLoop.instance().start()
于 2013-05-21T12:38:31.243 回答