Если вы погрузитесь глубже в документы Core Data, вы найдете этот лакомый кусочек скрытым:
[[self managedObjectContext] processPendingChanges];
[[[self managedObjectContext] undoManager] disableUndoRegistration];
// Do your work
[[self managedObjectContext] processPendingChanges];
[[[self managedObjectContext] undoManager] enableUndoRegistration];
Изменения не регистрируются менеджером отмены обычно до конца цикла событий, и поэтому регистрировались после , вы снова отменили регистрацию. Вышеуказанное заставляет его возникать, когда вы хотите.
Этот может ответить на ваш вопрос (вы используете параметр shell=True
)
Но не проще ли будет импортировать file2
как модуль в file1
? (если вы еще не знакомы с импортом, вы можете обратиться к этому руководству )