gust.php 1 Denunciar post Postado Dezembro 26, 2016 Prezados, bom dia! Estou iniciando no python fazendo o seguinte: Tenho um diretório com diversos arquivos, esses arquivos PDFs estão com a seguinte nomenclatura: 0001818.01.2014.pdf. Esses arquivos estão assim porque estão levando o numero de um processo. Eu preciso listar todos esses arquivos, procurar na tabela processo se existe um processo com esse numero e depois gravar na tabela documento, o ID desse processo, a DATA, o NOME DO ARQUIVO e o ARQUIVO. Estou tentando assim: #!/usr/bin/python3 import glob import base64 import os import datetime import MySQLdb today = datetime.datetime.today() # Open database connection db = MySQLdb.connect("localhost","root","senha","banco" ) # prepare a cursor object using cursor() method cursor = db.cursor() os.chdir('arq') for file in glob.glob('*.pdf'): processo = file[:-4] cursor.execute("SELECT XPROCESSO FROM D_PR_DESDOBRAMENTOS WHERE NUMERO = '%s'" % (processo)) proc = file data = cursor.fetchone() print ("ID DO PROCESSO : %s " % data) tamanho = os.path.getsize('%s' % (proc)) print ("TAMANHO : %d " % tamanho) with open('%s' % (proc), 'rb') as f: blob = base64.b64encode(f.read()) cursor.execute('INSERT INTO D_PR_DOCUMENTOS (XPROCESSO, \ DATA, NOME_ORIGINAL, \ PAGINA, DOC_BLOB, \ TAMANHO) \ VALUES ("%x", "%s", "%s", "%s", "%s", "%s")' % \ (data, today, proc, 1, blob, tamanho)) # disconnect from serve cursor.close() O erro esta acontecendo aqui: VALUES("%x" .... Acontece o seguinte: Traceback (most recent call last): File "./loadfile.py", line 33, in <module> (data, today, proc, 1, blob, tamanho)) TypeError: %x format: a number is required, not tuple Pesquisando na net fui recomendado a colocar tudo como string "%s", assim ate que funciona, só que ele pega o ID do PROCESSO e tenta inserir no banco assim: ID CORRETO: 823 Ele tenta inseriri isso: '(823L)' Ai é claro que ocorre um erro. Agora, estou achando engraçado, pq em todos os outros campos, no log do mysql eles aparecem perfeitos, sem problema nenhum, só no campo XPROCESSO que é o ID que fica assim ... Alguem ai tem alguma ideia ???? Agradeço ajudas ... Compartilhar este post Link para o post Compartilhar em outros sites