#!/usr/bin/env python3 """ text_stats.py - Quick utility to count lines, words, and characters in text files. Usage: python text_stats.py [file2] ... """ import sys def analyze_text(filepath): """Return (lines, words, chars) for a text file.""" try: with open(filepath, 'r', encoding='utf-8', errors='replace') as f: content = f.read() lines = content.count('\n') + (1 if content and not content.endswith('\n') else 0) lines = len(content.splitlines()) if content.strip() else 0 words = len(content.split()) chars = len(content) return lines, words, chars except Exception as e: return None, None, None def main(): if len(sys.argv) < 2: print("Usage: python text_stats.py [file2] ...") sys.exit(1) for filepath in sys.argv[1:]: lines, words, chars = analyze_text(filepath) if lines is None: print(f"{filepath}: error reading file") continue print(f"{filepath}: {lines} lines, {words} words, {chars} chars") if __name__ == '__main__': main()