TransWikia.com

Como acessar pastas e copiar os arquivos em Python?

Stack Overflow em Português Asked by Hendrik on September 26, 2021

Olá, sou novo em Python.
Eu tenho uma pasta "MAIN". Dentro desta pasta tem diversas outras pastas. Nestas pastas eu tenho o arquivo "IQ.jpg". Gostaria de saber como eu faço para acessar todas as pastas dentro da pasta MAIN e copiar os arquivos "IQ.jpg" para outra pasta "NOVA_PASTA", ao mesmo tempo que ele copia, eu gostaria que ele renomeasse o arquivo para o nome da pasta que ele foi puxado. Por exemplo

O arquivo "IQ.jpg" está na pasta "Meus_calculos", está pasta está dentro da pasta "MAIN". Quando o arquivo "IQ.jpg" for copiado para a pasta "NOVA_PASTA", gostaria que o programa renomeasse este arquivos para "IQ-Meus_calculos.jpg"

Basicamente eu gostaria que o programa percorresse todas as pastas, copiasse os arquivos e renomeasse eles de acordo com o nome da pasta da qual foi retirado para não haver duplicação de arquivos na pasta, visto que em todas as pastas tem o arquivo com o mesmo nome e extensão.
Seria possível fazer isto?

Aqui está o código que eu tentei

from shutil import copy
from pathlib import Path
import os


src = Path(r".D:Usuarios025429Desktopold_folder")
filename = "IQ"
dst = Path(r".D:Usuarios025429Desktopnew_folder")
idx = 0

directory_list = list()
for root, dirs, files in os.walk(r"D:Usuarios025429Desktopold_folder", topdown=False):
    for name in dirs:
        directory_list.append(os.path.join(root, name))
print(directory_list)

for file in src.iterdir():
    if file.is_file() and file.stem == filename:
        idx += 1
        copy(file, (dst / f"Archive_{idx}").with_suffix(file.suffix))
insira o código aqui

One Answer

import os
import shutil
  • Há dois jeitos de mover e renomear, veja:

Nessa parte, o arquivo será renomeado e movido

os.rename("diretorio/origem/nome-do-arquivo", "diretorio/destino/novo-nome-arquivo")

Usando shutil, você poderá mover o arquivo

shutil.move("diretorio/origem/nome-do-arquivo", "diretorio/lugar-para-onde-sera-movida/novo-nome-do-arquivo")

Correct answer by Edsonjaguiar on September 26, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP