Как произвести архивирование всех директорий, кроме одной?

Как при использовании функции exec() и команды "tar cvf name.tar name" исключить определенную папку, такую как "file", из архивирования? Я хочу, чтобы все файлы и папки в папке "name" были включены в архив, за исключением указанной папки и ее содержимого.
  • 25 сентября 2023 г. 13:47
Ответы на вопрос 2
Вы можете использовать параметр `--exclude` команды `tar` для исключения папки и ее содержимого из архивирования. Для этого вам нужно изменить команду следующим образом:

```python
import os
import subprocess

directory = 'name'
archive_name = 'name.tar'
excluded_directory = 'file'

command = f'tar --exclude={excluded_directory} -cvf {archive_name} {directory}'

subprocess.call(command, shell=True)
```

В данном примере `--exclude` исключает папку "file" из архивирования, а `-cvf` означат команду `tar` для создания архива и отображения прогресса. После выполнения команды будет создан архив с именем 'name.tar', содержащий все файлы и папки в папке 'name', за исключением папки 'file' и ее содержимого.
Исключите директорию при использовании команды tar с помощью опции --exclude=PATTERN. Пример: man tar ... --exclude=PATTERN.
Похожие вопросы