-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDirectoryScanner.py
More file actions
51 lines (46 loc) · 1.82 KB
/
Copy pathDirectoryScanner.py
File metadata and controls
51 lines (46 loc) · 1.82 KB
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import os
import DataConverter
class scan():
def __init__(self ,**kwrg):
path = kwrg['path'] + "/"
files_or_folders = os.listdir(path)
files = []
folders = []
file_sizes = []
files_and_sizes = {}
file_count = 0
folder_count = 0
total_size = 0
index = 0
if "file_sizes" in kwrg:
convert_mode = kwrg["file_sizes"]
else:
convert_mode = "B"
if "totaL_size" in kwrg:
t_convert_mode = kwrg["totaL_size"]
else:
t_convert_mode = "B"
while index < len(files_or_folders):
file_or_folder = path + files_or_folders[index]
if os.path.isfile(file_or_folder):
files.append(file_or_folder)
size_of_file = os.path.getsize(file_or_folder)
files_and_sizes[file_or_folder] = DataConverter.convert(size=str(size_of_file)+" B" ,convert_to=convert_mode)
total_size += size_of_file
file_sizes.append(DataConverter.convert(size=str(size_of_file)+" B" ,convert_to=convert_mode))
file_count += 1
elif os.path.isdir(file_or_folder):
folders.append(file_or_folder)
folder_count += 1
try:
files_or_folders += [(files_or_folders[index] + "/" + file_folder_temp) for file_folder_temp in os.listdir(file_or_folder)]
except:
pass
index += 1
self.file_count = file_count
self.folder_count = folder_count
self.files = files
self.folders = folders
self.file_sizes = file_sizes
self.files_and_sizes = files_and_sizes
self.total_size = DataConverter.convert(size= str(total_size) + " B" ,convert_to=t_convert_mode)