Как реализовать удаление файлов до достижения определённого количества свободного места?
1. Посмотреть, сколько свободного места осталось;
2. Если мало, то удалить файлы из директории;
3. Повторить.

Понадобится модуль os.
Всё.
Очень просто - читайте вывод команды  du с ключом -s 
А уже потом принимайте решение, что и как удалять.
leah@leah-pc ~> du -s /var/www/media
131268256	/var/www/media
leah@leah-pc ~>
Можно конечно и на питоне пройтись по всем подкаталогам и считать размеры всех файлов. Но зачем, если уже есть утилита.
import subprocess
proc = subprocess.run(["du","-s","/var/www/media"], stdout=subprocess.PIPE)
folder_size = int(proc.stdout.decode('utf-8').split('\t')[0])

Ну и удалять можно командой  rm