Python - Renombrar Archivos con una lista

 
Vista:
Imágen de perfil de Jhon Morales
Val: 8
Ha disminuido su posición en 14 puestos en Python (en relación al último mes)
Gráfica de Python

Renombrar Archivos con una lista

Publicado por Jhon Morales (2 intervenciones) el 29/03/2019 17:21:00
Buenos días soy nuevo en este tema pero quiero hacer algo que me esta matando la cabeza, lo hago para uso personal ya que manejo muchos archivos, en resumen tengo una lista con nombres ejemplo: foto1.jpg, foto2.jpg, etc. quiero renombrar los archivos que se encuentran en otra carpeta con los nombres de esa lista pero llevo 3 días intentando con poco éxito, anexo mi código con lo intentado.

Agradezco enormente si alguno me puede ayudar

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# Import library
import os
import shutil
from pathlib import Path
script_dir = os.path.dirname(__file__)
 
# Declarate Variables
#path
rel_path = "3/."
path_initial = os.getcwd()+"/-1/"
path_initial_file = []
path_final = os.getcwd()+"/3/"
path_final_file = []
#archives
archives3 = []
archives1 = []
 
abs_file_path = os.path.join(script_dir, rel_path)
abs_path_initial = os.path.join(script_dir, path_initial)
 
 
# Functions
def saveFileNames1():
    for root, dirs, files in os.walk(abs_path_initial):
        for filename in files:
            #f_name,f_ext= os.path.splitext(filename)
            archives1.append(filename)
        #print(archives1)
 
def saveFileNames3():
    for root, dirs, files in os.walk(abs_file_path):
        for filename in files:
            archives3.append(filename)
        #print(archives3)
 
def renameFiles():
    #files_list = os.listdir(abs_path_initial)
    #path1=os.walk(abs_path_initial)
    """for f in os.listdir(path_initial):
        new_name= ('{}'.format(archives3))
        os.rename(Path(path_initial_file, path_final_file))"""
    for f in os.listdir(path_initial):
        if f in archives1:
            os.rename(path_initial_file, f+"a")
 
def joinPathWithFiles():
    for item in archives1:
        path_initial_file.append(os.path.join(script_dir, path_initial+item))
    for item3 in archives3:
        path_final_file.append(os.path.join(script_dir, path_final+item3))
    #print (path_initial_file)
    #print (path_final_file)
 
def prueba():
    #root = 'C:\\FOTOS\\centro operativo\\-1\\'
    for f in os.listdir(path_initial):
        fullpath = os.path.join(path_initial, f)
        stringfile=''.join(str(e) for e in archives3)
        for a in stringfile:
            os.rename(fullpath, fullpath.replace(a,stringfile))
 
# Run Functions
saveFileNames1()
saveFileNames3()
#joinPathWithFiles()
#renameFiles()
prueba()
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 Jhon Morales
Val: 8
Ha disminuido su posición en 14 puestos en Python (en relación al último mes)
Gráfica de Python

Renombrar Archivos con una lista

Publicado por Jhon Morales (2 intervenciones) el 29/03/2019 22:00:11
Ya lo logré, gracias de antemano adjunto el código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
print ("JAMZ RENAME")
print ("by Jhon Morales")
print ("ingrejhon@gmail.com")
print ("\n")
# Functions
def saveFileNames1():
    for root, dirs, files in os.walk(abs_path_initial):
        for filename1 in files:
            #f_name,f_ext= os.path.splitext(filename1)
            archives1.append(filename1)
        #print(archives1)
 
def saveFileNames2():
    for root, dirs, files in os.walk(abs_path_initial):
        for filename2 in files:
            #f_name,f_ext= os.path.splitext(filename1)
            archives2.append(filename2)
        #print(archives1)
 
def saveFileNames3():
    for root, dirs, files in os.walk(abs_file_path):
        for filename3 in files:
            archives3.append(filename3)
       # print(archives3)
 
def renameFiles():
    i=0
    j=0
    for filename in os.listdir(path_initial):
        fullpath = os.path.join(path_initial, filename)
        os.rename(fullpath, path_initial+"\\"+archives3[(i)])
        i+=1
    for filename2 in os.listdir(path_second):
        fullpath = os.path.join(path_second, filename2)
        os.rename(fullpath, path_second+"\\"+archives3[(j)])
        j+=1
 
 
 
# Run Functions
saveFileNames1()
saveFileNames3()
renameFiles()
 
print ("PROCESO FINALIZADO, PRESIONE UNA TECLA PARA SALIR")
os.system("pause")
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

Renombrar Archivos con una lista

Publicado por Kaleb HB (1 intervención) el 25/06/2020 05:28:17
1
2
3
4
5
6
7
8
9
10
11
import os
 
dataset_files = os.listdir('dataset') #Path de la carpeta que contiene los archivos que quieres renombrar
cont=0                                            #Opcional
 
for file in dataset_files:
    ruta = "dataset/%s"%file
    cont+=1
    if(isfile(ruta)):
        new_name ="dataset/ok_%d.jpg"%cont
        os.rename(ruta,new_name)
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