在循环项目时打印常规状态报告
report-on-interval的Python项目详细描述
……图片::https://badge.fury.io/py/report on interval.svg
:目标:https://badge.fury.io/py/report on interval
:alt:latest published version
图片::https://travis-ci.org/dusktreader/report-on-interval.svg?branch=master
:target:https://travis ci.org/dusktreader/report on interval
:alt:build status
**************
items
-----------------------------
此包提供一个函数,该函数只打印循环在iterable上迭代的
进度的信息。所以,假设有一个10K
的元素要迭代,每个元素需要一秒钟。在每处理1%的项目之后,获得一点输出不是很好吗?
有了间隔报告,就这么简单:
…代码块::python:
from report_on_interval import report_on_interval
处理了10000个项目中的400个项目
…
处理了10000个项目中的10000个项目
----
-要求:`python'版本3.4+
-通过pip安装:`$pip install report on interval`
其他选项
----
可能有用的附加参数:
*``message`
为报表提供自己的消息:
…代码块::python:
对于报告间隔中的错误(
错误生成器,
消息='{i}/{n}小错误被压扁,
):
压扁错误(错误)
*``项目计数`
如果您知道项目总数,则会出现这种情况。
否则,``report_on_interval``将iterable转换为list,然后,
poof!,编程生成项目的好处将消失。一个很好的
例子是迭代sqlalchemy查询的结果:
…代码块::python:
query=session.query(mymodel).filter(mymodel.column>;0)
按间隔(
query,
item\u count=query.count())筛选报表中的行,
):处理行
*``打印机`
提供不同于默认打印到标准输出的打印机。这通常是一个应用程序记录器:
。代码块::python:
来自我的应用程序。日志导入记录器
对于间隔报告中的奶酪(奶酪店,打印机=记录器):
请求奶酪(奶酪)
*``获取增量`
提供您自己的计算报告间隔的方法。默认情况下,使用“计算报告间隔”方法。对于超过10万个项目的iterables,此方法每处理1%后打印
,对于超过30个项目的iterables,此方法每处理10%后打印
。代码块::python:
def deltafier(n):
return n//7
也许你想在循环完成时报告,因为你不自己报告。不考虑口味……
*``额外操作`
提供在每个报告间隔执行的附加任务列表。
此功能的一个用途是s定期刷新
间隔上的数据库更新,并报告进度
。代码块::python:
):thingie.update(doodad=none)
*``在'u end``
完成循环后也执行额外操作。请注意,与
``report_at_end``参数类似,如果iterable中的项计数是报告间隔的精确
倍,则不会导致额外的报告
,并再次运行额外的报告。“报告间隔”中的逻辑可以确保
:目标:https://badge.fury.io/py/report on interval
:alt:latest published version
图片::https://travis-ci.org/dusktreader/report-on-interval.svg?branch=master
:target:https://travis ci.org/dusktreader/report on interval
:alt:build status
**************
items
-----------------------------
此包提供一个函数,该函数只打印循环在iterable上迭代的
进度的信息。所以,假设有一个10K
的元素要迭代,每个元素需要一秒钟。在每处理1%的项目之后,获得一点输出不是很好吗?
有了间隔报告,就这么简单:
…代码块::python:
from report_on_interval import report_on_interval
处理了10000个项目中的400个项目
…
处理了10000个项目中的10000个项目
-要求:`python'版本3.4+
-通过pip安装:`$pip install report on interval`
其他选项
----
可能有用的附加参数:
*``message`
为报表提供自己的消息:
…代码块::python:
对于报告间隔中的错误(
错误生成器,
消息='{i}/{n}小错误被压扁,
):
压扁错误(错误)
*``项目计数`
如果您知道项目总数,则会出现这种情况。
否则,``report_on_interval``将iterable转换为list,然后,
poof!,编程生成项目的好处将消失。一个很好的
例子是迭代sqlalchemy查询的结果:
…代码块::python:
query=session.query(mymodel).filter(mymodel.column>;0)
按间隔(
query,
item\u count=query.count())筛选报表中的行,
):处理行
*``打印机`
提供不同于默认打印到标准输出的打印机。这通常是一个应用程序记录器:
。代码块::python:
来自我的应用程序。日志导入记录器
对于间隔报告中的奶酪(奶酪店,打印机=记录器):
请求奶酪(奶酪)
*``获取增量`
提供您自己的计算报告间隔的方法。默认情况下,使用“计算报告间隔”方法。对于超过10万个项目的iterables,此方法每处理1%后打印
,对于超过30个项目的iterables,此方法每处理10%后打印
。代码块::python:
def deltafier(n):
return n//7
也许你想在循环完成时报告,因为你不自己报告。不考虑口味……
*``额外操作`
提供在每个报告间隔执行的附加任务列表。
此功能的一个用途是s定期刷新
间隔上的数据库更新,并报告进度
。代码块::python:
):thingie.update(doodad=none)
*``在'u end``
完成循环后也执行额外操作。请注意,与
``report_at_end``参数类似,如果iterable中的项计数是报告间隔的精确
倍,则不会导致额外的报告
,并再次运行额外的报告。“报告间隔”中的逻辑可以确保