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.
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


0