Python - Copiar archivos dentro de directorios

 
Vista:
Imágen de perfil de Drowels
Val: 53
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

Copiar archivos dentro de directorios

Publicado por Drowels (21 intervenciones) el 12/08/2021 20:02:53
Hola,

Estoy teniendo un problema que no se como resolver, o es que estoy agotado o no lo se, pero me parecía más simple de lo que pensaba y me estoy viendo bloqueado.

Estoy tratando de crear un script que busque todos los archivos Debug.log en la carpeta Logger y que los copie en la misma raiz donde se ejecuta el script.py. Por ejemplo, si se ejecuta desde un pendrive, que se guarden todos los archivos Debug.log en el pindrive junto al script.py

El asunto está en que al tener todos los archivos el mismo nombre, pues ya sabéis, se sobrescriben y solo queda un archivo Debug.log. Mi primero idea era meter delante de Debug.log un número, un 1, 2, así autoincrementando. Pero nada, no lo consigo. Luego mi segunda idea era ir creando carpetas también con un nombre autoincrementado e in copiando dentro los archivos. Pero tampoco.

Siento que es un poquito que falta, pero no doy con ello.

Gracias!! si alguien me puede ayudar.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import pathlib
import shutil
import os
 
target = "Debug.log"
initial_dir = 'C:\\ProgramData\Logger'
 
path_lists = [os.path.join(root, target) for root, _, files in os.walk(initial_dir) if target in files]
 
largo = len(path_lists)
 
x = 0
for path_list in path_lists:
    x = x + 1
    carpeta=os.mkdir('Log{}'.format(x))
    shutil.copy(path_list,'.'+carpeta)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Drowels
Val: 53
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

Copiar archivos dentro de directorios

Publicado por Drowels (21 intervenciones) el 12/08/2021 23:50:45
Parece que ya está. Era una tontería, pero algunas veces nos bloqueamos y no lo vemos!

1
2
3
4
5
6
7
8
9
10
11
12
13
import pathlib
import shutil
import os
 
target = "Debug.log"
initial_dir = 'C:\\ProgramData\Simrad'
 
path_lists = [os.path.join(root, target) for root, _, files in os.walk(initial_dir) if target in files]
 
x = 0
for path_list in path_lists:
    x = x + 1
    shutil.copyfile(path_list,('{}_Debug.log'.format(x)))
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar