Files
yuegong/脚本/count_zh.py
T
2026-07-04 03:23:53 +08:00

30 lines
828 B
Python

#!/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()