python_utils/utils/read_wirte_file_utils.py
M. A. Reza 1417f22d3d update
2025-12-16 16:04:50 +03:30

46 lines
1.4 KiB
Python

import json
from pathlib import Path
def serialize_sets(obj):
if isinstance(obj, set):
return list(obj)
raise TypeError
def write_to_file(content, file_path: str, json_dumps=False, indent=None):
PWD = Path(__file__).resolve().parent.parent
file = PWD / file_path
file.parent.mkdir(parents=True, exist_ok=True)
with open(file, mode="w") as f:
if json_dumps:
return f.write(json.dumps(content, indent=indent, ensure_ascii=False, default=serialize_sets))
return f.write(content)
def write_to_json_file(content, file_path: str, indent: int | None = 4):
pwd = Path(__file__).resolve().parent.parent
file = pwd / file_path
file.parent.mkdir(parents=True, exist_ok=True)
with open(file, mode="w") as f:
return f.write(json.dumps(content, indent=indent, ensure_ascii=False, default=serialize_sets))
def append_to_file(content: str, file_path: Path):
file_path.parent.mkdir(parents=True, exist_ok=True)
with open(file_path, mode="a") as f:
return f.write(content)
def write_binary_to_file(content, file_path: Path):
file_path.parent.mkdir(parents=True, exist_ok=True)
with open(file_path, mode="wb") as f:
return f.write(content)
def read_file(file_path, json_loads):
with open(file_path, "r") as file:
if json_loads:
return json.loads(file.read())
return file.read()