Скопируйте несколько файлов в Python

Как скопировать все файлы, существующие в одном каталоге к другому каталогу с помощью Python. У меня есть исходный путь и целевой путь как строка.

78
задан getThingsDone 27 November 2018 в 06:18
поделиться

3 ответа

Вы можете используйте os.listdir () , чтобы получить файлы в исходном каталоге, os.path.isfile () , чтобы проверить, являются ли они обычными файлами (включая символические ссылки в системах * nix) и shutil.copy для копирования.

Следующий код копирует только обычные файлы из исходного каталога в целевой каталог (я предполагаю, что вы не хотите копировать какие-либо подкаталоги).

import os
import shutil
src_files = os.listdir(src)
for file_name in src_files:
    full_file_name = os.path.join(src, file_name)
    if os.path.isfile(full_file_name):
        shutil.copy(full_file_name, dest)
120
ответ дан 24 November 2019 в 10:32
поделиться

Если вы не хотите копировать все дерево (с подкаталогами и т. Д.), Используйте или glob.glob ("путь / к / каталогу /*.*") , чтобы получить список всех имен файлов, переберите список и используйте shutil.copy для копирования каждого файла.

for filename in glob.glob(os.path.join(source_dir, '*.*')):
    shutil.copy(filename, dest_dir)
26
ответ дан 24 November 2019 в 10:32
поделиться

Посмотрите на shutil в документации Python , особенно на команду copytree .

11
ответ дан 24 November 2019 в 10:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: