forked from continuedev/continue
-
Notifications
You must be signed in to change notification settings - Fork 0
/
analyze_binary.py
27 lines (22 loc) · 878 Bytes
/
analyze_binary.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from collections import defaultdict
# Initialize a dictionary to store the sizes of the folders
folder_sizes = defaultdict(int)
# Parse the file
with open(
"archive_contents.txt", "r"
) as f: # replace 'file.txt' with your file name
for line in f:
parts = line.split(",")
if len(parts) < 2:
continue
size = int(parts[1].strip()) # get the size
path = parts[-1].strip() # get the path
# Split the path into its components and accumulate the sizes for each folder
path_parts = path.split("/")
top_level = path_parts[0]
folder_sizes[top_level] += size
# Sort the folders by size in descending order
sorted_folders = sorted(folder_sizes.items(), key=lambda x: x[1], reverse=True)
# Print the sorted folders and their sizes
for folder, size in sorted_folders:
print(f"{folder}: {size}")