[ Foro de Python ]
Una consulta...estoy tratando de concatenar PDFs. Me funciona perfecto la concatenacion pero tengo el problema que enumeré los archivos del 1 al 11, pero me toma el orden 1, 10, 11, 2, 3, 4...
Quisiera saber como se puede mantener el order que le indico.
Les dejo el código utilizado
for p in range(1,12):
print(p)
dashboard='"BoletinSector-Endesarrollo/' + str(p) +'?Seccion='+ seccion[k] + '"'
archivo='"' + path2 + str(p) + '.pdf"'
comando='tabcmd export '+ dashboard + ' --pdf --pagesize a4 -f ' + archivo
check_output(comando, shell=True)
#lista pdfs a fusionar
pdfs = [f for f in os.listdir(path2) if f.endswith(".pdf")]
fusionador = PdfFileMerger()
for pdf in pdfs:
fusionador.append(open(path2+pdf, 'rb'))
with open(path+'Boletin '+k+ ' '+current_date_format(now)+'.pdf', 'wb') as output:
fusionador.write(output)
La solución más sencilla es numerar los archivos como 01, 02, etc
El problema es que los archivos vienen ya con esos nombres....y no tengo permiso de modificación sobre esa carpeta....
Quizas hay otra forma.....
Entonces puedes no utilizar tu lista "pdfs", que contiene textos ordenados 1, 10, 11, 2, sino volcar de ella a una lista numérica y luego ordenarla por su valor numérico.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)