Seleccionar archivos con caracteres especiales
Publicado por luclinux (26 intervenciones) el 20/02/2014 08:49:51
Buenos dias, quería hacer una consulta, ya que no encuentro la solución por la red.
En el programa que tengo en Python, en un momento determinado, selecciono un archivo (a través de un gtk.filechooserdialog) para guardarlo en una base de datos. El problema es que si el nombre del archivo tiene algún caracter especial (como una tilde), el archivo no se adjunta, porque no encuentra la ruta. Esto sólo pasa en Windows, en Linux va sin problema. Al inicio del código ya he codificado el utf-8 (#-*- coding: utf-8 -*-) El código para adjuntar es el siguiente:
Gracias de antemano y un saludo.
En el programa que tengo en Python, en un momento determinado, selecciono un archivo (a través de un gtk.filechooserdialog) para guardarlo en una base de datos. El problema es que si el nombre del archivo tiene algún caracter especial (como una tilde), el archivo no se adjunta, porque no encuentra la ruta. Esto sólo pasa en Windows, en Linux va sin problema. Al inicio del código ya he codificado el utf-8 (#-*- coding: utf-8 -*-) El código para adjuntar es el siguiente:
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
def btPDFClick(self, widget):
informeConsultado = self.lbIdInforme.get_text()
respt = self.selectorArchivos.run()
self.selectorArchivos.hide()
if respt == -5:
pdfSeleccionado = open(self.selectorArchivos.get_filename(), 'rb') #selectorArchivos es el gtk.filechooserdialog
pdfBin = pdfSeleccionado.read()
pdfSeleccionado.close()
queryInsertarPDF = "UPDATE INFORMES SET PDF = %s WHERE IdInforme =\'" + informeConsultado + "'"
c = conexion.db
cursor = c.cursor()
try:
cursor.execute(queryInsertarPDF, (pdfBin, ))
c.commit()
self.msgbox.show()
self.lbMensaje.set_text("PDF adjuntado con exito.")
self.btAceptarMsgBox.set_label("Aceptar")
except Exception, e:
raise e
c.rollback
cursor.close()
self.selectorArchivos.hide()
Gracias de antemano y un saludo.
Valora esta pregunta
0