pytilpack.dataclasses¶
pytilpack.dataclasses
¶
dataclasses関連のユーティリティ。
asdict(obj)
¶
dataclasses.asdict()のシャローコピーバージョン。
dataclasses.asdict()はネストされたdataclassを再帰的に処理してしまうが、 その挙動が要らない場合に使う。 公式マニュアルに書いてある回避策そのままのコード。 https://docs.python.org/ja/3/library/dataclasses.html#dataclasses.asdict
ソースコード位置: pytilpack/dataclasses.py
fromdict(cls, data)
¶
dictからdataclassを生成する。
pytilpack.dataclasses_.asdict()ではなく、 dataclasses.asdict()の逆変換(ネストにも対応)。
引数:
| 名前 | タイプ | デスクリプション | デフォルト |
|---|---|---|---|
cls
|
type[TDataClass]
|
dataclassの型 |
必須 |
data
|
dict[str, Any]
|
dict |
必須 |
戻り値:
| タイプ | デスクリプション |
|---|---|
TDataClass
|
dataclassのインスタンス |
ソースコード位置: pytilpack/dataclasses.py
fromjson(cls, json_path)
¶
jsonからdataclassを生成する。
引数:
| 名前 | タイプ | デスクリプション | デフォルト |
|---|---|---|---|
cls
|
type[TDataClass]
|
dataclassの型 |
必須 |
json_path
|
str | Path
|
jsonファイルのパス |
必須 |
戻り値:
| タイプ | デスクリプション |
|---|---|
TDataClass
|
dataclassのインスタンス |
ソースコード位置: pytilpack/dataclasses.py
tojson(obj, json_path, ensure_ascii=False, indent=None, separators=None, sort_keys=False)
¶
dataclassをjsonに変換して保存する。
引数:
| 名前 | タイプ | デスクリプション | デフォルト |
|---|---|---|---|
obj
|
Any
|
dataclassのインスタンス |
必須 |
json_path
|
str | Path
|
保存先のパス |
必須 |
ensure_ascii
|
bool
|
json.dumpの引数 |
False
|
indent
|
Any | None
|
json.dumpの引数 |
None
|
separators
|
Any | None
|
json.dumpの引数 |
None
|
sort_keys
|
bool
|
json.dumpの引数 |
False
|
ソースコード位置: pytilpack/dataclasses.py
validate(instance)
¶
dataclassインスタンスのフィールド型を詳細チェックする。
発生:
| タイプ | デスクリプション |
|---|---|
TypeError
|
型不一致、またはdataclassでない場合。詳細なエラー位置を含む。 |