要素数が確定されたシーケンスの途中で処理を挟むタイミングの判定を補助します。
Project description
NotificationFrequency
要素数が確定されたシーケンスの途中で処理を挟むタイミングの判定を補助します。
使い方
n回毎
あるいはn%毎
など、頻度を指定してインスタンスnf
を生成します。nf.length
に管理するシーケンスの要素数を与えます。enumerate
付きのfor文
などで(通知を行うか否か(bool)
,進捗率(int)
)を取得できます。
from otsunotificationfrequency import NotificationFrequency
# 2212個の要素を持つリストで実行する例
data = [x * 2 for x in range(2212)]
length = len(data)
# 25%毎に表示を行う
nf25per = NotificationFrequency('25%')
nf25per.set_length(length)
# 20個毎に表示を行う
# nf20 = NotificationFrequency(20)
# nf20.length = length
for i, d in enumerate(data):
i += 1
sa, per = nf25per.check_and_get_percentage(i)
# sa, per = nf20(i)
if sa:
print(f'{d}: {per}% ({i}/{length})')
25%
毎に表示する例
1104: 25% (553/2212)
2210: 50% (1106/2212)
3316: 75% (1659/2212)
4422: 100% (2212/2212)
20個
毎に表示する例
38: 0% (20/2212)
78: 1% (40/2212)
118: 2% (60/2212)
158: 3% (80/2212)
198: 4% (100/2212)
238: 5% (120/2212)
278: 6% (140/2212)
318: 7% (160/2212)
358: 8% (180/2212)
398: 9% (200/2212)
438: 9% (220/2212)
...
4158: 94% (2080/2212)
4198: 94% (2100/2212)
4238: 95% (2120/2212)
4278: 96% (2140/2212)
4318: 97% (2160/2212)
4358: 98% (2180/2212)
4398: 99% (2200/2212)
4422: 100% (2212/2212)
otsunotificationfrequency.validatorモジュール
otsuvalidator
ライブラリがインストールされていない場合インポートできず、ImportError
が発生します。
otsucfgmng
などでバリデータやコンバータが必要な場合に利用してください。
NotificationFrequency
を使用するだけの場合、このモジュールは何の機能も持ちません。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for otsunotificationfrequency-1.0.4.311.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 744eb000ec6fc0b8d3e54dcc2f678905b096e220dd396cdda6522e9ffa9dfe2a |
|
MD5 | 6d4cb8a4cf12b5eb67f0cc5c7bae95d4 |
|
BLAKE2b-256 | ff22c97cee281e8445f95609c3e7e167dc9780e6ada15efa28329db708570f10 |
Close
Hashes for otsunotificationfrequency-1.0.4.311-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 377edba32c16133bfe2c3a9e057c5733561dd5f309a835fa22b8bcccbbf641cb |
|
MD5 | 2f2ff721927418d246b9a3f2dba08a54 |
|
BLAKE2b-256 | 220ce8d8be46ebf614566e0800a785096694136ae5bda60fdfab889759203de5 |