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


0