Вы говорите операционной системе перемещать test-dir
, а не ее содержимое. Обычно он заменяет цель (.
в данном случае), но эта цель, очевидно, не пуста, поэтому неявное rmdir
завершается неудачей. Даже если оно не было пустым, скорее всего, невозможно удалить или заменить имя .
.
Оболочка *
представляет собой глобус , который распространяется на каждую вещь в пределах test-dir
, которую вы можете перемещать по отдельности; однако вы хотите перенести их имя в целевой каталог, то есть с test-dir/foobar
на ./foobar
. os.path.basename
может помочь вам извлечь эту часть.