project package

Submodules

project.nlib module

class project.nlib.JsonData(keys: str | list[str] | tuple[str, ...], default: int | float | bool | str | None, path: str | Path)[ソース]

ベースクラス: object

Jsonファイルから一つの値を読み込んで保持するクラス

file_exists() bool[ソース]

jsonファイルが存在するかどうかを取得する

Returns:

ファイルが存在すればTrue

get() int | float | bool | str | None[ソース]

現在保持している値を取得する

Returns:

保持している値

get_default() int | float | bool | str | None[ソース]

設定されているデフォルト値を取得する

Returns:

ファイルに値が存在しなかった時に使用するデフォルト値

get_keys() tuple[ソース]

Jsonファイルのこの値が保存されているキーを取得する

Returns:

値にたどり着くまでのキー

increment(save_flag: bool = False, num: int = 1) bool[ソース]

値をインクリメントしてファイルに保存する ( 数値以外が保存されていた場合は 0 で初期化 )

Args:

save_flag: ファイルにデータを保存するかどうかを指定する num: 増加させる値を指定する

Returns:

データがファイルに保存されれば True

load() bool[ソース]

ファイルから値を読み込む

Returns:

正常に読み込めた場合か、デフォルト値で初期化した場合は True 何らかのエラーが発生した場合は False

save() bool[ソース]

ファイルに現在保持している値を保存する

Returns:

ファイルへの保存が成功した場合は True

set(data: int | float | bool | str | None, save_flag: bool = False) bool[ソース]

新しい値を登録する

Args:

data: 新しく置き換える値 save_flag: ファイルに新しい値を保存するかどうか

Returns:

データがファイルに保存されれば True

class project.nlib.LibErrorCode(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[ソース]

ベースクラス: Enum

ライブラリ内の一部関数で返されるエラーコード

argument = 4
cancel = 5
file_not_found = 2
http = 3
success = 1
unknown = 6
class project.nlib.StrEnum(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[ソース]

ベースクラス: str, Enum

str のサブクラスでもある列挙型を作成する基底クラス

class project.nlib.Url(*content)[ソース]

ベースクラス: str

URL を格納するクラス

add_param(key: str, value: Any) Any[ソース]

パラメータを追加する

Args:

key: パラメータのキー value: 値

Returns:

パラメータを追加した URL オブジェクト

format(*args: object, **kwargs: object)[ソース]

URL に対して format 関数を使用する

Returns:

format 関数の返り値

property name: str

URL の末尾を取得する

Returns:

URL の末尾

property parent: Any

現在の URL の上位 URL を取得する

Returns:

現在の URL の上位 URL

pop_param(key: str) Any[ソース]

URL パラメーターを削除する

Args:

key: 削除するパラメーターのキー

Returns:

パラメータを削除した URL オブジェクト

with_name(name: str) Any[ソース]

URL の name 属性を引数に与えた名前に変換した URL を取得

Args:

name: URL の末尾

Returns:

URL の末尾を変換した URL

class project.nlib.Vector2(x: int | float | tuple[int | float, int | float] | list[int | float] = 0, y: int | float = 0)[ソース]

ベースクラス: object

2 次元ベクトルの値を格納するためのクラス Vector2.x と Vector2.y か Vector2[0] と Vector2[1] でそれぞれの値にアクセスできる

ceil() Any[ソース]

x と y それぞれの小数点以下を切り上げる

Returns:

x, y の小数点以下を切り上げた Vector2

floor() Any[ソース]

x と y それぞれの小数点以下を切り捨てる

Returns:

x, y の小数点以下を切り捨てた Vector2

invert() Any[ソース]

x と y の値を入れ替える

Returns:

x, y の値を入れ替えた Vector2

max() int | float[ソース]

x と y のうち大きい方の値を取得する

Returns:

x か y の値

min() int | float[ソース]

x と y のうち小さい方の値を取得する

Returns:

x か y の値

round() Any[ソース]

x と y それぞれの小数点以下を丸める

Returns:

x, y の小数点以下を丸めた Vector2

set(x: int | float | tuple[int | float, int | float] | list[int | float], y: int | float = 0) Any[ソース]

それぞれの値を初期化する、値を指定しなかった場合は 0 で初期化される x に Vector2 クラスをそのまま渡せば、その Vector2 の値で初期化される x にリストやタプルを渡した場合は、一つ目の要素が x 二つ目の要素が y となる

Args:

x: 数値を指定する y: 数値を指定する

to_self_type(x: Any) Any[ソース]

自クラス型以外の値を自クラス型へ変換する

Args:

x: 自クラス型か数値

Returns:

自クラス型の値

project.nlib.can_cast(x: Any, cast_type: Callable) bool[ソース]

指定された値がキャストできるかどうかを確認する

Args:

x: 確認する値 cast_type: チェックするためのキャスト関数

Returns:

キャストできる場合は True

project.nlib.check_url(url: str) bool[ソース]

リンク先が存在するかどうかを確認する

Args:

url: 存在を確認するURL

Returns:

リンク先に正常にアクセスできた場合は True

project.nlib.compress_hex(hex_str: str, decompression: bool = False) str[ソース]

16進数の文字列を圧縮、展開する

Args:

hex_str: 16進数の値 decompression: 渡された値を圧縮ではなく展開するフラグ

Returns:

圧縮 or 展開した文字列

project.nlib.download_and_check_file(url: str, dest_path: str, overwrite: bool = True, trial_num: int = 3, trial_interval: int = 3) LibErrorCode[ソース]

ファイルをダウンロードして、失敗時に再ダウンロードを試みる

Args:

url: ダウンロードするファイルのURL dest_path: ダウンロードしたファイルを保存するローカルファイルパス overwrite: 同名のファイルが存在した場合に上書きするかどうか trial_num: 最初の一回を含むダウンロード失敗時の再試行回数 trial_interval: ダウンロード再試行までのクールタイム

Returns:

ライブラリのエラーコード

project.nlib.download_file(url: str, dest_path: str, overwrite: bool = True) LibErrorCode[ソース]

インターネット上からファイルをダウンロードする

Args:

url: ダウンロードするファイルのURL dest_path: ダウンロードしたファイルを保存するローカルファイルパス overwrite: 同名のファイルが存在した場合に上書きするかどうか

Returns:

ライブラリのエラーコード

project.nlib.get_check_digit(jan_code: int | str) int | None[ソース]

JANコードのチェックデジットを計算して取得する

Args:

jan_code: 13桁のJANコードか、その最初の12桁

Returns:

13桁目のチェックデジット

project.nlib.get_datatime_now() datetime[ソース]
project.nlib.get_datatime_now(to_str: bool) str

日本の現在の datetime を取得する

Args:

to_str: 文字列に変換して取得するフラグ

Returns:

日本の現在時間を datetime 型か文字列で返す

project.nlib.get_error_message(code: LibErrorCode) str[ソース]

ライブラリ内エラーコードからエラーメッセージを取得する

Args:

code: ライブラリのエラーコード

Returns:

コードに対応するエラーメッセージ

project.nlib.get_python_version() str[ソース]

Python のバージョン情報を文字列で取得する

Returns:

Python のバージョン

project.nlib.imput_while(str_info: str, branch: ~typing.Callable[[str], bool] = <function <lambda>>) str[ソース]

条件に一致する文字が入力されるまで再入力を求める入力関数 ( デフォルトでは空白のみキャンセル )

Args:

str_info: 入力を求める時に表示する文字列 branch: 正常な入力かどうかを判断する関数

Returns:

入力された文字列

project.nlib.json_dumps(json_data: str | dict, ensure_ascii: bool = False) str | None[ソース]

Json文字列か辞書を整形されたJson形式の文字列に変換する

Args:

json_data: Jsonファイルのファイルパスか、出力したいデータの辞書 ensure_ascii: 非ASCII文字文字をエスケープする

Returns:

整形されたJson形式の文字列

project.nlib.load_json(file_path: str | Path) Any[ソース]

jsonファイルを読み込む

Args:

file_path: jsonファイルパス

Returns:

読み込んだjsonファイルのデータ

project.nlib.make_lib_dir() None[ソース]

ライブラリ内で使用するディレクトリを作成する

project.nlib.print_debug(message: object, end: str = '\n') bool[ソース]

デバッグログをコンソールに出力する

Args:

message: 出力する内容 end: 最後に追加で出力される内容

Returns:

実際にコンソールに出力された場合は True

project.nlib.print_error_log(message: object, console_print: bool = True) bool[ソース]

エラーログを出力する

Args:

message: ログに出力する内容 console_print: 内容をコンソールに出力するかどうか

Returns:

正常にファイルに出力できた場合は True

project.nlib.print_exc() None[ソース]

スタックされているエラーを表示する

project.nlib.print_log(message: object, console_print: bool = True, error_flag: bool = False, file_name: str = '', file_path: str | Path | None = None) bool[ソース]

ログをファイルに出力する

Args:

message: ログに出力する内容 console_print: コンソール出力するかどうか error_flag: 通常ログではなく、エラーログに出力するかどうか file_name: 出力するファイル名を指定する ( 拡張子は不要 ) file_path: 出力するファイルのパスを指定する

Returns:

正常にファイルに出力できた場合は True

project.nlib.program_pause(program_end: bool = True) None[ソース]

入力待機でプログラムを一時停止する関数

Args:

program_end: 再開した時にプログラムを終了する場合は True、処理を続ける場合は False

project.nlib.read_tail(path: str, n: int, encoding: str | None = None) list[str][ソース]

ファイルを後ろから指定した行だけ読み込む

Args:

path: 読み込むファイルのファイルパス n: 読み込む行数 encoding: ファイルのエンコード

Returns:

実際に読み込んだ結果

project.nlib.rename_path(file_path: str, dest_name: str, up_hierarchy_num: int = 0, slash_only: bool = False) str[ソース]

ファイルパスの指定した階層をリネームする

Args:

file_path: リネームするファイルパス dest_name: 変更後のディレクトリ名 up_hierarchy_num: 変更するディレクトリの深さ ( 一番深いディレクトリが 0 ) slash_only: パスの区切り文字をスラッシュのみにするかどうか

Returns:

変換後のファイルパス

project.nlib.save_json(file_path: str | Path, obj: Any, ensure_ascii: bool = False) None[ソース]

データをjsonファイルに保存する

Args:

file_path: jsonファイルパス data: 保存するデータ ensure_ascii: 非ASCII文字文字をエスケープする

project.nlib.subprocess_command(command: list[str] | tuple[str, ...]) bytes[ソース]

OS のコマンドを実行する

Args:

command: 実行するコマンド

Returns:

実行結果

project.nlib.thread(func: Callable) Callable[ソース]

関数をマルチスレッドで実行するためのデコレーター

project.nlib.update_nest_dict(dictionary: dict, keys: object | list | tuple, value: object) bool[ソース]

ネストされた辞書内の特定の値のみを再帰で変更する関数

Args:

dictionary: 更新する辞書 keys: 更新する値にたどり着くまでのキーを指定し、複数あればlistかtupleで指定する value: 上書きする値

Returns:

再帰せずに更新した場合のみ True、再帰した場合は False

Module contents