草庐IT

future-swap

全部标签

python - 不能在 Tornado 的 future 上调用 result()

我想使用python库tornado(版本4.2)执行一些异步HTTP请求。但是,我不能强制future完成(使用result()),因为我得到一个异常:“DummyFuture不支持结果阻塞”。我有python3.4.3,因此future的支持应该是标准库的一部分。concurrent.py的文档说:Tornadowilluseconcurrent.futures.Futureifitisavailable;otherwiseitwilluseacompatibleclassdefinedinthismodule.下面提供了我正在尝试做的最小示例:fromtornado.httpcl

python - 如何在 python concurrent.futures 中中断 time.sleep()

我正在玩弄concurrent.futures.目前我的future调用time.sleep(secs)。似乎Future.cancel()做的比我想象的要少。如果future已经在执行,那么time.sleep()不会被它取消。wait()的超时参数相同.它不会取消我的time.sleep()。如何取消在concurrent.futures中执行的time.sleep()?为了测试,我使用ThreadPoolExecutor. 最佳答案 如果您将函数提交给ThreadPoolExecutor,执行器将在线程中运行该函数并将其返回值

python - 我可以在主导入文件中使用 "from __future__ import unicode_literals"吗?

我正在创建一些必须在2.6、2.7和3.3下运行的演示Python脚本。作为其中的一部分,每个模块都带有前缀from__future__importunicode_literals是否可以将该指令从每个模块中剪切下来并粘贴到一个通用的导入文件中?例如#master.pyfrom__future__importunicode_literals#file1.pyimportmaster#file2.pyimportmaster 最佳答案 没有。引用文档:Afuturestatementisadirectivetothecompilert

python - 无法从 __future__ 导入注释

运行语句时from__future__importannotations我收到以下错误:Traceback(mostrecentcalllast):File"/usr/lib/python3.5/py_compile.py",line125,incompile_optimize=optimize)File"",line735,insource_to_codeFile"",line222,in_call_with_frames_removedFile"./prog.py",line1from__future__importannotations^SyntaxError:futurefea

python - 等待任何 future 的异步

我正在尝试使用asyncio来处理并发网络I/O。大量功能将被安排在一个点上,每个功能完成所需的时间差异很大。接收到的数据随后在每个输出的单独进程中进行处理。数据处理的顺序无关紧要,因此考虑到输出的等待时间可能非常长,我想await等待任何future先完成而不是预定义的顺序。deffetch(x):sleep()asyncdefmain():futures=[loop.run_in_executor(None,fetch,x)forxinrange(50)]forfinfutures:awaitfloop=asyncio.get_event_loop()loop.run_until_

python - 编写交叉兼容的 Python 2/3 : Difference between __future__, 六和 future.utils?

在这个cheatsheet的帮助下,我正在编写交叉兼容的Python2和3代码.我注意到有不同的包和模块可以帮助做到这一点:future包(例如future.utils等),six包,以及内置的__future__模块。使用这些包时有什么不同之处需要注意吗?我应该混合和匹配它们,还是只用其中一个编写完全交叉兼容的代码? 最佳答案 在python2-3兼容性方面:__future__-是python中的一个内置模块,它允许您在python版本中使用可选功能,其中它们是可选的(相对于强制性的)。例如,unicode_literals在p

python - concurrent.futures.as_completed 是如何工作的?

我正在学习python并发性,并且向我介绍了future的概念。我读到as_completed()获取可迭代的futures并在完成时产生它们。我想知道它在内部是如何工作的。它是否立即产生已完成的任务(future)?一种天真的方法是迭代所有future并使用done()检查每个future,但这是低效的。那么这个函数背后的魔力是什么?谢谢! 最佳答案 Iwanttoknowhowitworksinternally.as_completed设置一个回调以在future完成时触发,对它收到的所有futures这样做。(为此目的,它使用

python - 我将如何在实时场景中使用 concurrent.futures 和队列?

使用Python3的concurrent.futures模块进行并行工作相当容易,如下所示。withconcurrent.futures.ThreadPoolExecutor(max_workers=10)asexecutor:future_to={executor.submit(do_work,input,60):inputforinputindictionary}forfutureinconcurrent.futures.as_completed(future_to):data=future.result()在队列中插入和检索项目也非常方便。q=queue.Queue()forta

python - 如何为 future 的变化准备一个django项目

当我在我的第一个django支持的网站上工作时,我不断地学习新事物并在我的应用程序中进行各种更改和添加。我尝试遵循DRY和pythonic原则并在我的编码中保持聪明,但最终我将不得不让网站上线,并且确信在我这样做后不久,一些新的和现有的东西将会出现,我会想要实现它.为future做准备:考虑到这一点,人们对我如何现在准备我的代码尽可能future就绪有什么建议,以应对这些当前不可预见/未知的升级/添加到我的代码库?后见之明是20/20:您希望自己在开始时所做的哪些事情可以让您的网站启动并运行后的生活更轻松?我学到的小事(示例):使用UTC作为默认时区(并使用datetime.datet

python - 如何为 python 3.0 的仅关键字参数导入 __future__?

以下python2.6中的代码抛出语法错误>>>deff(a,*args,c):File"",line1deff(a,*args,c):^SyntaxError:invalidsyntax但是这个语法在python3.0中是有效的。我想知道我应该在我的解释器中导入什么才能使其工作。IE。从导入__future__????为了导入3.0的printfunction,我会做from__future__importprint_function同样这个定义在2.6中是无效的deff(a,*b,c=5,**kwargs):虽然它在3.0中是合法的 最佳答案