← Python мануфактура

Конспект і таймкоди

0:00

Test data й artifacts

Файли зберігають підготовлених 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 без явної потреби й захисту.

4:00

Читання JSON та encoding

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.