import shutil from telegram_upload._compat import scandir def free_disk_usage(directory='.'): return shutil.disk_usage(directory)[2] def sizeof_fmt(num, suffix='B'): for unit in ['','Ki','Mi','Gi','Ti','Pi','Ei','Zi']: if abs(num) < 1024.0: return "%3.1f%s%s" % (num, unit, suffix) num /= 1024.0 return "%.1f%s%s" % (num, 'Yi', suffix) def scantree(path, follow_symlinks=False): """Recursively yield DirEntry objects for given directory.""" for entry in scandir(path): if entry.is_dir(follow_symlinks=follow_symlinks): yield from scantree(entry.path, follow_symlinks) # see below for Python 2.x else: yield entry