Работа с файлами в Python, модуль shutil

23.02.2018

Теги: PythonWeb-разработкаДиректорияКопироватьМодульУдалитьФайл

Модуль shutil (shell utilities — утилиты командной строки) содержит методы, позволяющие копировать, перемещать, переименовывать и удалять файлы. Для этого нужно сперва импортировать модуль.

Метод copy() предназначен для копирования файлов:

>>> import shutil, os
>>> os.chdir('C:\\example')
>>> os.listdir()
['image.jpg']
>>> shutil.copy('image.jpg', 'copy.jpg')
'copy.jpg'
>>> os.listdir()
['copy.jpg', 'image.jpg']
>>> os.mkdir('images')
>>> shutil.copy('copy.jpg', 'images')
'images\\copy.jpg'

Метод copytree() позволяет копировать директории:

>>> shutil.copytree('images', 'new-dir')
'new-dir'
>>> os.chdir('new-dir')
>>> os.listdir()
['copy.jpg']

Метод move() позволяет переместить файл или директорию:

>>> os.listdir()
['copy.jpg', 'image.jpg', 'images', 'new-dir']
>>> shutil.move('copy.jpg', 'images\\new-copy.jpg') # перемещение файла
'images\\new-copy.jpg'
>>> shutil.move('images', 'new-dir') # перемещение директории
'new-dir\\images'
>>> shutil.move('image.jpg', 'picture.jpg') # переименование файла
'picture.jpg'
>>> shutil.move('new-dir', 'old-dir') # переименование директории
'old-dir'

Метод rmtree() удаляет директорию вместе со всеми поддиректриями и файлами.

>>> shutil.rmtree('old-dir')

Безопасное удаление файлов и директорий

Модуль send2trash отправляет удаляемые директории и файлы в корзину. Так что при ошибочном удалении их можно восстановить.

>>> import send2trash
>>> send2trash.send2trash('images')

Поиск: Python • Web-разработка • Директория • Копировать • Модуль • Удалить • Файл

Каталог оборудования
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Производители
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Функциональные группы
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.