from __future__ import annotations import argparse import pathlib def count(text: str) -> dict[str, int]: return {'lines': len(text.splitlines()), 'words': len(text.split()), 'characters': len(text)} def main() -> int: parser = argparse.ArgumentParser() parser.add_argument('path', type=pathlib.Path) args = parser.parse_args() for key, value in count(args.path.read_text(encoding='utf-8')).items(): print(key + ': ' + str(value)) return 0 if __name__ == '__main__': raise SystemExit(main())