Работа с файловой системой. Правильно работать с библиотекой pathlib, а не с os напрямую. Это удобно и безопасно.
Создание директорий
from pathlib import Path
Path("/my/directory").mkdir(parents=True, exist_ok=True)
Write/Read file
from pathlib import Path
with Path("/my/directory").open(mode="w") as out_stream: # default: mode='r'
out_stream.write("test")
Работа с временными файлами и временной директорией
import tempfile
from pathlib import Path
with tempfile.TemporaryDirectory() as tmpdir:
path = Path(tmpdir, 'test.txt')
# ...
Список всех файлов в подкаталогах
from pathlib import Path
path = Path('/some/path')
if path.is_dir():
p = path.glob('**/*')
files = [x for x in p if x.is_file()]
for f in files:
print(f)
io
Пакет io - работа со стримами. Это способ писать логи в переменные, а не в файлы или вывод.