"""解析子进程:python -m app.datafiles.worker <原文件> <输出目录> 结果以一行 JSON 写到 stdout:成功是 {"file": ParsedFile},文件本身的问题是 {"error": {"status", "message"}} 其他异常让进程以非零状态退出,堆栈留在 stderr,由上传流程记日志 """ import json import sys from pathlib import Path from app.datafiles.base import DataFileError from app.datafiles.parse import parse_file def main(source: str, out_dir: str) -> None: try: result = { "file": parse_file(Path(source), Path(out_dir)).model_dump(mode="json") } except DataFileError as error: result = {"error": {"status": error.status, "message": error.message}} # 只输出 ASCII,不受控制台编码影响 sys.stdout.write(json.dumps(result)) if __name__ == "__main__": main(*sys.argv[1:])