#!/usr/bin/env python3
"""统计文本文件的中文字符数、总字符数、非空白字符数。"""
import argparse
import re
from pathlib import Path


def stats(text: str) -> dict:
    return {
        "chars": len(text),
        "nonspace": len(re.sub(r"\s", "", text)),
        "zh": len(re.findall(r"[\u4e00-\u9fff]", text)),
    }


def main():
    parser = argparse.ArgumentParser(description="Count Chinese characters in text files.")
    parser.add_argument("paths", nargs="+", help="Files to count.")
    args = parser.parse_args()

    for path_str in args.paths:
        path = Path(path_str)
        text = path.read_text(encoding="utf-8")
        s = stats(text)
        print(f"{path}: 中文字符={s['zh']}, 总字符={s['chars']}, 非空白字符={s['nonspace']}")


if __name__ == "__main__":
    main()
