Для добавления возможности видеть размер каждой папки и файла в каталоге, вы можете использовать функции
os.path.getsize()
и
os.path.join()
модуля
os
Вот модифицированный вариант вашего скрипта с добавленными размерами папок и файлов:
import os
def get_size(path):
total_size = 0
if os.path.isfile(path):
total_size = os.path.getsize(path)
else:
for dirpath, dirnames, filenames in os.walk(path):
for filename in filenames:
file_path = os.path.join(dirpath, filename)
total_size += os.path.getsize(file_path)
return total_size / (1024 * 1024) # Переводим размер в Мб
path = 'E:\Мой Python\__Видеокурсы Python'
rez = sorted(os.listdir(path))
with open("out_ok.txt", "w") as file:
for n, item in enumerate(rez):
item_path = os.path.join(path, item)
size = get_size(item_path)
file.write(f"{n + 1} {item} ({size:.2f} Мб)\n")
print('Список файлов смотрим здесь - out_ok.txt')
В этом обновленном скрипте добавлена функция
get_size()
которая вычисляет размер папки или файла. Она использует функции
os.path.getsize()
для получения размера файла и
os.walk()
для обхода всех файлов в папке и подпапках.
В результате каждая строка списка файлов в файле "out_ok.txt" будет содержать имя файла или папки, а также его размер в Мб. Размер файла будет вычисляться с помощью функции
get_size()
и добавляться к строке вывода.
Обратите внимание, что размеры папок будут включать размеры всех файлов внутри них.