问题
如何给tornado.ioloop.IOLoop中的run_sync方法中调用的函数添加参数

解决方案
使用functools.partial

解决示例

from tornado import gen
from tornado.ioloop import IOLoop

@gen.coroutine
def func():
    print('this is the %(name)s'%{'name': func.__name__})
    yield gen.sleep(6.0)
    print('%(num)d'%{'num': 10})

@gen.coroutine
def foo():
    print('this is the %(name)s'%{'name': foo.__name__})
    yield gen.sleep(1.5)
    print('%(num)d'%{'num': 5})

@gen.coroutine
def call():
    yield gen.sleep(0)
    print('this is the callback')

@gen.coroutine
def main(ioloop):
    ioloop.call_later(5, call)
    yield [func(), foo()]

if __name__ == '__main__':
from functools import partial
ioloop = IOLoop.current()
main = partial(main, ioloop=ioloop)
ioloop.run_sync(main)

总结
利用functools.partial就可以把原本需要带参数调用的函数变成不需要带参数就可以调用,在python核心编程中称之为偏函数。
---------------------
作者:Easy_to_python
来源:CSDN
原文:https://blog.csdn.net/hjhmpl123/article/details/53641121
版权声明:本文为博主原创文章,转载请附上博文链接!

最新文章

  1. 利用HAProxy代理SQL Server的AlwaysOn辅助副本
  2. 《转载》myeclipse 上安装 Maven3
  3. codevs1048 石子合并
  4. 推荐15款响应式的 jQuery Lightbox 插件
  5. ireport制作小技巧<Reproduce>
  6. Android基础总结(二)
  7. [SAP ABAP开发技术总结]ABAP调优——Open SQL优化
  8. 开启flask调试
  9. JDBC第一天
  10. Axure一点
  11. Oracle 安装 检查操作系统版本 必须是 5.0 5.1 的解决办法
  12. 【转】Eclipse中一键调用javah生成jni的头文件
  13. 将ArrayList<HashMap<String, String>>转为ArrayList<Bundle>类型的解决方案
  14. JS跨域请求 JSONP B/S全代码
  15. 给php加速安装APC
  16. yii2 源码分析 object类分析 (一)
  17. ajax的嵌套需要注意的问题
  18. Codeforces Round #423 (Div. 2, rated, based on VK Cup Finals) E. DNA Evolution 树状数组
  19. springboot打war包后部署到tomcat后访问返回404错误
  20. MyBatis:一对多关联查询

热门文章

  1. Android PopupWindow显示位置设置
  2. 数据结构----线性表顺序和链式结构的使用(c)
  3. 任务十:Flexbox 布局练习
  4. 玩转Windows/Linux tftp命令
  5. npm安装及webpack打包小demo
  6. 【系统】在windows中追加/删除虚拟打印机
  7. easyui学习笔记2—在行内进行表格的增删改操作
  8. [EffectiveC++]item34:区分接口继承和实现继承
  9. 自动备份软件 —— Syncovery 7.98s Pro/Enterprise
  10. Java基础之二维数组的回顾