Rebased and Added optimized pathfinder

This commit is contained in:
brotoskyj
2025-08-26 17:18:14 -04:00
parent 384e5b29c0
commit 83593b9caa
+41
View File
@@ -0,0 +1,41 @@
import os
import ast
from collections import defaultdict
def load_and_find_common_dirs(filename, min_count=2):
dir_map = defaultdict(list)
with open(filename, 'r') as file:
for line in file:
line = line.strip()
line = line.replace('\\', '/')
if not line:
continue
try:
item = ast.literal_eval(line)
if isinstance(item, list):
paths = item
elif isinstance(item, str):
paths = [item]
else:
continue
except Exception:
continue
for path in paths:
parent_dir = os.path.dirname(path)
dir_map[parent_dir].append(path)
# Filter directories with at least min_count files
common_dirs = {d: files for d, files in dir_map.items() if len(files) >= min_count}
return common_dirs
# Example usage:
if __name__ == "__main__":
filename = "paths.txt" # Replace with your file
common_directories = load_and_find_common_dirs(filename)
for directory, files in common_directories.items():
print(f"\nDirectory: {directory}")
for f in files:
print(f" - {f}")