Конспект і таймкоди
Файли зберігають підготовлених users, transactions або результати, які треба передати наступному кроку чи додати до report. Перед записом варто визначити життєвий цикл даних: тимчасовий debug output не повинен назавжди засмічувати repository або CI agent.
1:00
`TemporaryDirectory` і `Path`
with TemporaryDirectory() as tmp_dir створює ізольовану directory та автоматично видаляє її після виходу з context manager. Path(tmp_dir) / "test-result.txt" будує platform-safe path. Тому файл доступний усередині блоку, але закономірно зникає після завершення операції.
3:00
Запис структурованих даних у JSON
Python dictionary можна серіалізувати через json.dumps(user, indent=2) і записати як UTF-8 text. JSON зручний для API-like data, бо зберігає field names і вкладену структуру. Не слід записувати tokens, passwords або персональні дані в artifacts без явної потреби й захисту.
Path.read_text(encoding="utf-8") повертає text, а json.loads(text) перетворює JSON string на Python objects. Явний UTF-8 encoding запобігає platform-dependent проблемам із кирилицею та іншими символами. Для file object існують json.load/json.dump; суфікс s у loads/dumps означає роботу зі string.
6:00
Relative й absolute paths
Relative path залежить від current working directory, з якого запущено процес; absolute path починається від filesystem root або drive. Hardcoded local paths роблять тести непереносними між macOS, Linux, Windows і CI. Краще будувати шлях від стабільної project directory через Path.