33 lines
964 B
Python
33 lines
964 B
Python
#!/usr/bin/env python3
|
|
"""Quick file type counter - counts files by extension in a directory."""
|
|
import os
|
|
import sys
|
|
from collections import Counter
|
|
from pathlib import Path
|
|
|
|
def count_files_by_extension(directory: str) -> dict:
|
|
"""Return count of files by extension in directory (non-recursive)."""
|
|
path = Path(directory)
|
|
extensions = Counter()
|
|
|
|
if not path.exists():
|
|
return {}
|
|
|
|
for item in path.iterdir():
|
|
if item.is_file():
|
|
ext = item.suffix.lower() if item.suffix else "(no extension)"
|
|
extensions[ext] += 1
|
|
|
|
return dict(extensions)
|
|
|
|
def main():
|
|
directory = sys.argv[1] if len(sys.argv) > 1 else "/root/.hermes"
|
|
result = count_files_by_extension(directory)
|
|
|
|
print(f"File counts in: {directory}")
|
|
print("-" * 40)
|
|
for ext, count in sorted(result.items(), key=lambda x: -x[1]):
|
|
print(f"{ext or '(no ext)'}: {count}")
|
|
|
|
if __name__ == "__main__":
|
|
main() |