pytilpack.jsonc¶
pytilpack.jsonc
¶
JSONC(JSON with Comments)関連。
load(source, encoding='utf-8', errors='replace', strict=False, **kwargs)
¶
JSONCファイルの読み込み。
ソースコード位置: pytilpack/jsonc.py
loads(text, **kwargs)
¶
edit(text, updates, ensure_ascii=False, default=None, **dumps_kwargs)
¶
JSONC文字列中の指定パスの値を書き換えつつコメント・空行・インデントを維持する。
updatesのキーはパス(オブジェクトキー名の文字列または配列インデックスの整数の並び)、
値は書き込む新しいPythonオブジェクトとする。空タプルはルート全体を指す。
値の書き換えのみを対象とし、キーの追加・削除・配列要素の追加は扱わない。
書き換え後の値のシリアライズはjson.dumpsに委譲するため、
ensure_ascii・defaultなどの追加キーワード引数はそのまま渡す。
存在しないパスを指定した場合はKeyError(オブジェクト)またはIndexError(配列)が発生する。
パスの途中で辿った値がオブジェクト・配列でない場合はTypeErrorが発生する。
引数:
| 名前 | タイプ | デスクリプション | デフォルト |
|---|---|---|---|
text
|
str
|
元のJSONC文字列。 |
必須 |
updates
|
Mapping[_Path, Any]
|
パスから新しい値へのマッピング。 |
必須 |
ensure_ascii
|
bool
|
|
False
|
default
|
Callable[[Any], Any] | None
|
|
None
|
**dumps_kwargs
|
Any
|
|
{}
|
戻り値:
| タイプ | デスクリプション |
|---|---|
str
|
更新後のJSONC文字列。 |
ソースコード位置: pytilpack/jsonc.py
edit_file(path, updates, encoding='utf-8', errors='replace', ensure_ascii=False, default=None, **dumps_kwargs)
¶
JSONCファイルをeditで書き換えて上書き保存する。
コメント・空行・インデントを維持したままファイル内の値を差し替える。