Вызов removeItemAtPath_error
удаляет каталог назначения, а copyItemAtPath_toPath_error
создает каталог с тем же именем, что и удаленный, следовательно, он пуст.
В качестве примечания, имя вашего NSFileManager
экземпляр несколько вводит в заблуждение, поскольку это не объект папки, а ссылка на экземпляр файлового менеджера.
Пример того, как это можно сделать (я не знаком с PyObjC
, так что это только для вдохновения):
# Define paths
var sourcePath = "/my/source/path/"
var targetPath = "/my/target/path/"
# Create reference to file manager
var fileManager = NSFileManager.defaultManager();
# Create array of all file and directory paths inside the source directory
var sourcePaths = fileManager.contentsOfDirectoryAtPath_sourcePath_error(sourcePath, nil);
# For each source file or directory
for sourcePath in sourcePaths:
# Copy the file or directory to the target path
fileManager.copyItemAtPath_toPath_error(sourcePath, targetPath, nil);
Я предполагаю, что это рекурсивно копирует каталоги из источника и поддерживает дерево каталогов.