parq_tools.utils.file_utils.atomic_output_dir
- parq_tools.utils.file_utils.atomic_output_dir(final_dir, suffix='.tmp')[source]
Context manager for atomic directory writes using a temporary directory.
All writes are directed to a temporary directory in the same parent directory. On successful exit, the temp directory is atomically renamed to the final directory. On error, the temp directory is deleted.
Example
with atomic_output_dir(final_dir) as tmp_dir: # Write files to tmp_dir (tmp_dir / "file.txt").write_text("Hello, World!")
- Parameters:
final_dir (Path) – The intended final output directory path.
suffix (str) – Suffix for the temporary directory (default: “.tmp”).
- Return type:
ContextManager[Path]