個人的によく使う関数、クラス、型ヒントを纏めたライブラリです。


License
Other
Install
pip install otsutil==1.2.2.310

Documentation

概要

よく使う関数やクラスを纏めたライブラリです。

このライブラリは以下の環境で作成されています。 Windows10(64bit), Python3.10.8

インストール

インストール pip install otsutil

アップデート pip install -U otsutil

アンインストール pip uninstall otsutil

モジュール

以下のモジュールが存在します。

モジュール名 概要
classes よく使うクラスが定義されている
funcs よく使う関数が定義されている
types よく使う型ヒントが定義されている

classesモジュール

classesモジュールでは以下のクラスが定義されています。

クラス名 概要
LockableDict 要素の操作時にthreading.Lockを使用するdictクラス
items, keys, valuesなどのメソッドで生成したIteratorオブジェクトをサイズ変更後にnextした場合に例外が起こるのはオリジナルと同様
LockableList 要素の操作時にthreading.Lockを使用するlistクラス
ObjectSaver pickleでシリアライズ可能なオブジェクトをファイルで扱うクラス
OtsuNone Noneのような何か
Noneを返す可能性のあるdictgetするときのdefaultなどに使う
厳密にはクラスではなく__OtsuNoneTypeというシングルトンクラスのインスタンス
Timer n秒タイマー
n秒経過するまで, 今からn秒経過するまで, n秒経過したかなどを判定したり
for文で定期的に処理を割り込ませるためのメソッドなどがある

funcsモジュール

funcsモジュールでは以下の関数が定義されています。

関数名 概要
deduplicate タプルやリストから重複を取り除き、順番を保持し、元の型で返す
load_json ファイルに保存されたJSONを読み込む
openせずにファイルを渡すことができ、指定しない場合のencodingutf-8になる
read_lines ファイルを読み込み1行ずつ返すジェネレータを生成する
行右端の改行を除去し、openせずにファイルを渡すことができ、指定しない場合のencodingutf-8になる
same_path パスが同一か判定する
相対パス、絶対パスにかかわらず開いたとき同じものであればTrueを返す
save_json ファイルにJSONを保存する。
openせずにファイルを渡すことができ、指定しない場合のencodingutf-8になる
setup_path 親ディレクトリの存在を確認、生成、保証し、パスを返す
ディレクトリならば生成され、ファイルならopen(file, 'w')で生成可能な状態になる
str_to_path 文字列をPathに変換する
write_lines ファイルにlinesを1行ずつ書き出す
openせずにファイルを渡すことができ、指定しない場合のencodingutf-8になる

typesモジュール

typesモジュールでは以下の型ヒントやジェネリクスが定義されています。

名称 形式 概要
FLOAT_INT ジェネリクス floatまたはintに絞ったジェネリクス
K ジェネリクス dict型のキーを表す想定のジェネリクス
P ジェネリクス 関数の引数を表すジェネリクス
R ジェネリクス 関数の戻り値を表すジェネリクス
T ジェネリクス 型指定もなにもないジェネリクス
V ジェネリクス dict型の値、list型の値を表す想定のジェネリクス
hmsValue タイプエイリアス (時, 分, 秒)のタプル
型はそれぞれ(int, int, float)
pathLike タイプエイリアス pathlib.Pathまたはstr