все Python 3shutilфункция
shutil.move()
деревья каталогов
Перемещает файл или каталог, как mv: в пределах одного диска переименовывает, между дисками — копирует и удаляет исходник.
Синтаксис
shutil.move(src, dst, copy_function=copy2) -> dst
В отличие от os.rename, move работает между файловыми системами и умеет класть в каталог: если dst — существующий каталог, src окажется внутри, и вернётся новый путь. Если же внутри уже есть объект с тем же именем, будет shutil.Error. Существующий файл dst на Unix перезаписывается молча, а на Windows это зависит от os.rename и может закончиться ошибкой. При переносе между дисками копия делается через copy2, поэтому долго и не атомарно: прерванный move оставляет полкопии.
Примеры
import os, shutil
os.mkdir('archive')
open('report.txt', 'w').close()
print(shutil.move('report.txt', 'archive')) # → ? archive/report.txt — разделитель зависит от ОС
print(os.listdir('archive')) # → ['report.txt']
open('report.txt', 'w').close()
try:
shutil.move('report.txt', 'archive')
except shutil.Error as e:
print(type(e).__name__) # → Error
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности