Операции файлового ввода-вывода основаны на ОС и не подвержены операциям отката, однако перед выполнением таких операций вы можете выполнить множество проверок, таких как:
import os.path
if os.path.isfile(filepath)
# file exists
if my_file.is_dir():
# directory exists
if my_file.exists():
# path exists
для операций отката вы можете попытаться сохранить файлы, скопированные в список, и в исключительных случаях удалить все из этого списка