Files
Retrieval-based-Voice-Conve…/tools/file_io.py

16 lines
602 B
Python
Raw Normal View History

2026-07-19 21:17:17 +08:00
def read_text(path, errors="strict", newline=None):
last_error = None
for encoding in (None, "utf8", "gbk"):
try:
kwargs = {"errors": "strict", "newline": newline}
if encoding is not None:
kwargs["encoding"] = encoding
with open(path, "r", **kwargs) as file:
return file.read()
except UnicodeDecodeError as error:
last_error = error
if errors != "strict":
with open(path, "r", encoding="gbk", errors=errors, newline=newline) as file:
return file.read()
raise last_error