我有一些用于获取文件异步的python tornado代码
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客户端来指定文件名?如果我可以通过某个名称调用该文件并将其保存在当前目录以外的其他目录中。
答案 0 :(得分: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()