Files
troupe-standup/wizard-work/spark/text_stats.py
T

33 lines
993 B
Python

#!/usr/bin/env python3
"""
text_stats.py - Quick utility to count lines, words, and characters in text files.
Usage: python text_stats.py <file1> [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')
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 <file1> [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()