Skip to content

OS.SCANDIR() - Efficient Directory Scanning

Python
#!/usr/bin/env python3
"""OS.SCANDIR() - Efficient Directory Scanning"""
import os, tempfile
temp = tempfile.gettempdir()
test_dir = os.path.join(temp, "scandir_test")
os.makedirs(test_dir, exist_ok=True)
for i in range(3):
    open(os.path.join(test_dir, f"file{i}.txt"), 'w').write(f"test{i}")
os.makedirs(os.path.join(test_dir, "subdir"))
print("Using os.scandir():")
with os.scandir(test_dir) as entries:
    for entry in entries:
        print(f"  {entry.name}:")
        print(f"    Is file: {entry.is_file()}")
        print(f"    Is dir: {entry.is_dir()}")
        if entry.is_file():
            print(f"    Size: {entry.stat().st_size} bytes")
import shutil
shutil.rmtree(test_dir)