Bienvenido, Invitado
Tienes que registrarte para poder participar en nuestro foro.

Nombre de usuario/Email:
  

Contraseña
  





Buscar en los foros

(Búsqueda avanzada)

Últimos temas
Verificar nombres de arch...
Foro: General
Último mensaje por: Kardia__
, 07:03 PM
» Respuestas: 0
» Vistas: 8
Consulta sobre lista
Foro: General
Último mensaje por: Francisco
18-06-2019, 10:02 PM
» Respuestas: 1
» Vistas: 71
Capturar eventos mouse.
Foro: General
Último mensaje por: Francisco
11-06-2019, 10:40 PM
» Respuestas: 1
» Vistas: 150
Ayuda con Programación de...
Foro: General
Último mensaje por: Francisco
07-06-2019, 11:40 AM
» Respuestas: 7
» Vistas: 728
Toplevel() y tablas
Foro: Aplicaciones de escritorio
Último mensaje por: Myszowor
06-06-2019, 08:34 AM
» Respuestas: 3
» Vistas: 349
Recomendador productos In...
Foro: General
Último mensaje por: fgamezf
31-05-2019, 01:56 PM
» Respuestas: 0
» Vistas: 252
Librería o programa recon...
Foro: General
Último mensaje por: Francisco
31-05-2019, 12:50 AM
» Respuestas: 5
» Vistas: 580
Problemas JSON y BBDD
Foro: General
Último mensaje por: Francisco
29-05-2019, 12:36 AM
» Respuestas: 1
» Vistas: 289
TKinter listbox flechas d...
Foro: General
Último mensaje por: Teno
26-05-2019, 11:52 AM
» Respuestas: 3
» Vistas: 404
Pestañas laterales Tkinte...
Foro: Aplicaciones de escritorio
Último mensaje por: Myszowor
22-05-2019, 08:58 AM
» Respuestas: 10
» Vistas: 1.559

 
  Verificar nombres de archivos y seleccionar uno
Enviado por: Kardia__ - , 07:03 PM - Foro: General - Sin respuestas

Estimados, buenas a todos!

Estoy con una duda para automatizar una tarea, paso a comentarles:

Necesito realizar una combinación de archivos PDF a uno solo (esto ya lo estoy realizando con PyPDF2). El inconveniente es el siguiente:
Hay archivos en esta carpeta donde están los PDF que tienen distintas versiones, y yo necesito tomar la última versión y descartar las restantes.
Por ejemplo, un archivo se llama recomendación.pdf, pero si por algún motivo se modifica, los usuarios lo guardan como recomendaciónV1.pdf, si se vuelve a modificar, recomendaciónV2.pdf, etc.
Lo que yo necesitaría hacer es agarrar la última versión, en este caso, "recomendaciónV2.pdf" y descartar tanto la V1, como la anterior.

Ejemplo de carpeta:
recomendación.pdf
recomendaciónV1.pdf
recomendaciónV2.pdf
análisis.pdf
resoluciones.pdf
aperturas.pdf
aperturasV1.pdf
redacciones.pdf
histórico.pdf

Como ven, hay archivos PDF que no tienen otras versiones, yo debería copiar las de la última versión a otra carpeta, para que de ese anterior me quede lo siguiente:

recomendaciónV2.pdf
análisis.pdf
resoluciónes.pdf
aperturasV1.pdf
redacciones.pdf
histórico.pdf

Como se ve, están descartados: recomendación.pdf, recomendaciónV1.pdf, aperturas.pdf

Y luego ahí haría la combinación de todos los pdf a uno solo.

¿Se les ocurre alguna manera de poder tomar la última versión?

Desde ya muchas gracias.

Imprimir

  Consulta sobre lista
Enviado por: IsaacToro - 17-06-2019, 04:12 PM - Foro: General - Respuestas (1)

Hola buenas a todos, que estéis todos muy bien tengo una consulta acerca de realizar una tarea en específica, básicamente quería saber cómo realizarla, consiste en un variable x, solicitar un numero( no importa el largo) a dicho número cada uno de sus cifras almacenarlo en una lista.
Luego que cada una de esas cifras Deben enteros en la lista para obviamente realizar operaciones matemáticas con estas.

Imprimir

  Capturar eventos mouse.
Enviado por: muro - 10-06-2019, 06:45 PM - Foro: General - Respuestas (1)

Hola, estoy haciendo un juego con sopa de letras usando PySimpleGUI. Y necesito capturar los eventos del mouse, para poder completar cada palabra. No se si es un método de PySimpleGUI o deberia usar alguna otra libreria. Gracias.

Imprimir

  Recomendador productos Internet basado en Python
Enviado por: fgamezf - 31-05-2019, 01:56 PM - Foro: General - Sin respuestas

Hola a todos,
Estoy arrancando un nuevo proyecto de Internet donde un proceso automático (basado en Python) escanea el catálogo de las principales tiendas de Internet y hace recomendaciones de los mejores productos de cada categoría.

La idea es que los futuros compradores no tenga que revisar decenas de productos antes de decidirse por alguno de ellos sino que ese trabajo ya lo haría nuestra IA.

Escribo en este foro por si alguien me puede orientar a mejorar el algoritmo/IA del recomendador de productos.

A día de hoy se basa en la valoración global y el número de reviews que tiene un producto pero me gustaría añadir en el análisis comentarios o feedback de redes sociales, detección de comentarios fakes, valoración de la marca en redes sociales,...

Cualquier ayuda sobre por dónde tirar será bienvenida.

Os dejo el enlace por si queréis echar un vistazo:
decomprasPorLaRed

Gracias por adelantado y pido disculpa si este no es el lugar adecuado para solicitar vuestra ayuda y sugerencias.

Imprimir

Wink Ayuda con Programación de Inventario de Panadería hecho en Python
Enviado por: cericaurtega - 29-05-2019, 02:20 PM - Foro: General - Respuestas (7)

Hola reciban un cordial saludo me gustaría pedirles ayuda para que me den una manito con este proyecto de Inventario de una Panadería en PYTHON , tengo un pequeño lió me gustaría centrar todos los textos y que al momento de ingresar el producto le pudiera ingresar su respectiva imagen o si es posible un código de barras , pero he intentado de todo y no he podido.

CÓDIGO DE EJEMPLO

Código:
import tkinter as tk
import sqlite3
from tkinter import messagebox

######## VENTANA PARA INSETAR DATOS

def ventana_agregar():
#windows.withdraw()
window=tk.Toplevel()
window.geometry("512x512")
e1=tk.Label(window, text="AGREGAR PRODUCTOS :",bg="sky blue",fg="black").place(x=50, y=50),



# variable producto
entryproducto=tk.StringVar()
productotx=tk.Entry(window,textvariable=entryproducto).place(x=50, y=150)



# variable precio
entryprecio=tk.StringVar()
preciotx=tk.Entry(window,textvariable= entryprecio).place(x=50, y=230)



# Etiqueta para "INGRESE NOMBRE DEL PRODUCTO"
etiquetanombre=tk.Label(window, text="INGRESE NOMBRE DEL PRODUCTO.", padx=10 ).place(x=30, y=115)




#Etiqueta para "INGRESE PRECIO DEL PRODUCTO"
etiquetaprecio = tk.Label(window, text="INGRESE PRECIO DEL PRODUCTO", padx=10 ).place(x=30, y=200)

## Boton menu

menu=tk.Button(window, text="MENU", fg="red",font=("arial", 12),cursor = "hand2",relief = "raised",command = window.destroy)
menu.pack()
menu.place(x=50,y=350)

def guarda():

db = sqlite3.connect("articulos.s3db")
c = db.cursor()

nombre = entryproducto.get()
precio = entryprecio.get()


c.execute("insert into articulos (nombre,precio) values ('"+nombre+"','"+precio+"')")
db.commit()
c.close()
messagebox.showinfo("MODIFICACION","ARTICULO INGRESADO" )
window.destroy()
ventana_agregar()

btguardar = tk.Button(window, text = "GUARDAR", fg="blue",font=("arial", 12),cursor = "hand2",relief = "raised",command = guarda)
btguardar.pack()
btguardar.place(x=300,y=350)




######## VENTANA PARA VER LOS DATOS
def ventana_ver():
#.withdraw()
window=tk.Toplevel()
window.geometry("512x512")
e1=tk.Label(window, text="BUSCAR PRODUCTOS :",bg="white",fg="black").place(x=50, y=50),
e_codigo=tk.Label(window, text="CODIGO",bg="white",fg="black").place(x=50, y=70)
e_nombre=tk.Label(window, text="NOMBRE",bg="white",fg="black").place(x=150, y=70)
e_precio=tk.Label(window, text="PRECIO",bg="white",fg="black").place(x=250, y=70)
def mostrar():
## codigo
lista=tk.Listbox(window, width = 30, font=("arial", 12), height =15 )
lista.pack()
db = sqlite3.connect("articulos.s3db")
c = db.cursor()
c.execute("select * from articulos ORDER BY (codigo)DESC")
for row in c:
lista.insert(0,row[1]+"---------------"+ row[2])
lista.place(x=150,y=90)
## nombre
lista_1=tk.Listbox(window, width = 10, font=("arial", 12), height =15 )
lista_1.pack()
db = sqlite3.connect("articulos.s3db")
c = db.cursor()
c.execute("select codigo from articulos ORDER BY (codigo)DESC")
for row in c:
lista_1.insert(0,row[0])
lista_1.place(x=50,y=90)



menu=tk.Button(window, text="MENU", fg="red",font=("arial", 12),cursor = "hand2",relief = "raised",command = window.destroy)
menu.pack()
menu.place(x=50,y=400)

bt_mostrar = tk.Button(window, text = "MOSTRAR PRODUCTOS", fg="blue",font=("arial", 12),cursor = "hand2",relief = "raised",command = mostrar)
bt_mostrar.pack()
bt_mostrar.place(x=280,y=400)





########## VENTANA PARA ELIMINAR DATOS

def ventana_eliminar():
window=tk.Toplevel()
window.geometry("512x512")
e1=tk.Label(window, text=" ELIMINAR PRODUCTOS :",bg="white",fg="black").place(x=50, y=50)

#### VARIABLE PARA ID

entry_id=tk.StringVar()
productotx=tk.Entry(window,textvariable=entry_id).place(x=50, y=150)

#### ETIQUETA PARA ID

etiquetanombre=tk.Label(window, text="INGRESE CODIGO DEL PRODUCTO", padx=10 ).place(x=30, y=115)

def eliminar():
db = sqlite3.connect("articulos.s3db")
c = db.cursor()

id_producto = entry_id.get()

c.execute("DELETE from articulos where codigo = ('"+id_producto+"')")
db.commit()
c.close()
messagebox.showinfo("MODIFICACION","ARTICULO ELIMINADO" )
window.destroy()
ventana_eliminar()

#### BOTON PARA MENU

menu=tk.Button(window, text="MENU", fg="red",font=("arial", 12),cursor = "hand2",relief = "raised",command = window.destroy)
menu.pack()
menu.place(x=50,y=350)
#### BOTON PARA ELIMINAR
bt_eliminar = tk.Button(window, text = "ELIMINAR PRODUCTOS", fg="blue",font=("arial", 12),cursor = "hand2",relief = "raised",command = eliminar)
bt_eliminar.pack()
bt_eliminar.place(x=280,y=350)

###### VENTANA PARA MODIFICAR



def modificar_producto():
window=tk.Toplevel()
window.geometry("512x512")
e1=tk.Label(window, text=" MODIFICAR PRODUCTOS :",bg="white",fg="black").place(x=50, y=50)

#### VARIABLE PARA ID

entry_id=tk.StringVar()
productotx=tk.Entry(window,textvariable=entry_id).place(x=50, y=150)

#### ETIQUETA PARA ID

etiquetanombre=tk.Label(window, text="INGRESE CODIGO DEL PRODUCTO", padx=10 ).place(x=30, y=100)


#### VARIABLE PARA VALOR NUEVO

entry_valor=tk.StringVar()
valortx=tk.Entry(window,textvariable=entry_valor).place(x=50, y=250)

#### ETIQUETA PARA NUEVO VALOR

etiquetanombre=tk.Label(window, text="INGRESE EL NUEVO PRECIO PARA EL PRODUCTO", padx=10 ).place(x=30, y=200)




def modificar():
db = sqlite3.connect("articulos.s3db")
c = db.cursor()

id_producto = entry_id.get()
nuevo_precio = entry_valor.get()

c.execute("update articulos set precio =('"+nuevo_precio+"') where codigo = ('"+id_producto+"')")
db.commit()
c.close()
messagebox.showinfo("MODIFICACION","ARTICULO MODIFICADO" )
window.destroy()
modificar_producto()

#### BOTON PARA MENU

menu=tk.Button(window, text="MENU", fg="red",font=("arial", 12),cursor = "hand2",relief = "raised",command = window.destroy)
menu.pack()
menu.place(x=50,y=350)
#### BOTON PARA MODIFICAR
bt_modificar = tk.Button(window, text = "MODIFICAR PRODUCTO", fg="blue",font=("arial", 12),cursor = "hand2",relief = "raised",command = modificar)
bt_modificar.pack()
bt_modificar.place(x=280,y=350)





windows=tk.Tk()
windows.title("Panadería y pastelería “LAS DELICIAS DOÑA ANA”");
windows.geometry("800x534")

image=tk.PhotoImage(file="DOÑA ANA.gif")
image=image.subsample(1,1)
label=tk.Label(image=image)
label.place(relwidth=1, relheight=1)


b1=tk.Button(windows,text="Agregar Producto", fg="blue", font=("arial", 14), borderwidth=10,cursor = "hand2",relief = "raised", command = ventana_agregar,)
b1.pack()
b1.place(x=10,y=50)

b2=tk.Button(windows,text="Buscar Producto", fg="blue", font=("arial", 14), borderwidth=10,cursor = "hand2",relief = "raised", command = ventana_ver)
b2.pack()
b2.place(x=10,y=150)

b3=tk.Button(windows,text="Eliminar Producto", fg="blue", font=("arial", 14), borderwidth=10,cursor = "hand2",relief = "raised", command = ventana_eliminar)
b3.pack()
b3.place(x=10,y=250)

b4=tk.Button(windows,text="Modificar Producto", fg="blue", font=("arial", 14), borderwidth=10,cursor = "hand2",relief = "raised", command = modificar_producto)
b4.pack()
b4.place(x=10,y=350)
   
   

Imprimir

  Problemas JSON y BBDD
Enviado por: sac2019 - 28-05-2019, 02:58 PM - Foro: General - Respuestas (1)

Buenas tardes,
Estoy desarrollando un backend para una app, la cual extrae datos de unos ficheros y los almacena en la base de datos de Google Firestore.

La estructura de datos es:

Código:
fecha: {
           registro:{
               u'horainicio': datos[2],
               u'horafin': datos[3],
               u'entidad': datos[4],
               u'direccion': datos[5],
               u'poblacion': datos[6]
               }
          registro:{
               u'horainicio': datos[2],
               u'horafin': datos[3],
               u'entidad': datos[4],
               u'direccion': datos[5],
               u'poblacion': datos[6]
               }}
El problema que tengo es que me funciona, y añade los datos a la BBDD, pero solo me crea un registro dentro de fecha, porque cada vez que intento grabar uno nuevo, en vez de "añadir" los datos a continuación, de tal manera que estuviera dentro de fecha, varios registros con su propios datos, lo sobreescribe, quedando solo el ultimo registro.

Se que es un problema a la hora de codificar el JSON; pero por mas vueltas que le doy no soy capaz de sacarlo. Si pudierais echarme una mano ...


Os pongo el codigo de la funcion completo:

Código:
datos2=json.dumps(datos)
   datos=json.loads(datos2)
   puntero = db.collection(u'datos').document(usuario.lower())
   puntero.update({
       fecha: {
           datos[0]:{
               u'horainicio': datos[2],
               u'horafin': datos[3],
               u'entidad': datos[4],
               u'direccion': datos[5],
               u'poblacion': datos[6]
               }}
   })


Muchas Gracias por vuestra ayuda

Imprimir

Shocked Librería o programa reconocimiento de voz
Enviado por: TheTurri - 27-05-2019, 01:32 PM - Foro: General - Respuestas (5)

¡Hola amigos!
Tengo un carrito-robot de la compra autoconstruido (estoy hartito de cargar bolsas desde el súper  Cry )
Y he probado con varios sistemas de control. Unos funcionan y otros no, como los pimientos del Padrón.
Uno con cable, otro con viejo RC de dos canales (estos funcionan bastante bien), otro con un RC chino no proporcional (que no funcionó bien por lo que sea) y otro con un mando de infrarojos (que tampoco funcionó).
Ahora me gustaría usar una Raspberry Pi para manejarla con palabras sencillas, como:
"Adelante", "atrás", "derecha", "izquierda"...
El manejo de la Raspberry y sus Gpios en Python voy cogiéndole el tranquillo y ya voy haciendo cosillas con ello, pero eso que os pido se me escapa de mis capacidades y os estaría muy agradecidos que me dieseis alguna indicación o consejo.
Aquí os pongo uno de los carritos que hice:

Imprimir

Shocked Toplevel() y tablas
Enviado por: Johnny_LS - 27-05-2019, 02:30 AM - Foro: Aplicaciones de escritorio - Respuestas (3)

Buen dia 
Estoy haciendo una interfaz grafica con Tkinter, en el cual tengo mi ventana principal y una ventana secundaria donde se usa toplevel()
quiero colocar una tabla en la ventana secundaria pero al hacerlo la tabla se despliega en la ventana principal he buscado el como y la verdad no he encontrado una respuesta, este es el codigo que tengo (omiti las lineas de codigo de los botones, etiquetas y entradas de texto para no hacerlo muy largo), para que lo visualicen y si encuentran el error me digan en donde, muchas gracias!!!!

from Tkinter import *
import ttk
import Tkinter as tk
import sqlite3

class Product:
   #conexion con la base de datos
   db_lab = 'laboratorio.db'
   

   #ventana principal
   def __init__(self, window):
       self.wind = window
       self.wind.title('Sistema de control')
       self.wind.geometry('1080x720')

       #creando el contenedor
       frame = LabelFrame(self.wind, text = 'Elegir una de las siguientes opciones: ')
       frame.grid(row = 0, column = 0, columnspan = 3, pady = 20)
       frame.configure(background = 'gray')
       ttk.Button(frame, text = 'Registro de paciente', command = self.ventana_paciente).grid(row = 3, columnspan = 2, pady = 10, sticky = W)
        
   def ventana_paciente(self): #ventana secundaria
       self.wind_pac = tk.Toplevel()
       self.wind_pac.title = ('Registro del paciente')
       self.wind_pac.configure(background = 'gray')
       self.wind_pac.geometry('1080x720')

 
       #visualizacion de la tabla
  
       self.wind_pac = ttk.Treeview(height = 10, columns = ('1','2', '3', '4', '5'))
       self.wind_pac.grid(row = 12, column = 0, columnspan = 9)
       self.wind_pac.heading('#0', text = 'Apellido Paterno', anchor = CENTER)
       self.wind_pac.heading('#1', text = 'Apellido Materno', anchor = CENTER)
       self.wind_pac.heading('#2', text = 'Nombre', anchor = CENTER)
       self.wind_pac.heading('#3', text = 'Edad', anchor = CENTER)
       self.wind_pac.heading('#4', text = 'Sexo', anchor = CENTER)
       self.wind_pac.heading('#5', text = 'Fecha de nacimiento', anchor = CENTER)


if __name__ == '__main__':
   window = Tk()
   window.configure(background = 'gray')
   application = Product(window)
   window.mainloop()

Imprimir

  TKinter listbox flechas de scroll
Enviado por: Teno - 23-05-2019, 03:52 PM - Foro: General - Respuestas (3)

Hola!

No entiendo como poner flechas de scroll en el eje Y de lo siguiente:


Código:
import tkinter as tk

# listado principal
lista1 = tk.Listbox()
lista1.place(x=5,y=120,width=790,height=375)


Alguna idea?

Estoy mirando acá:

https://www.tutorialspoint.com/python/tk_listbox.htm

Y no veo nada de "scroll"

Vi este ejemplo...


Código:
import tkinter as tk

#Make Window
root = tk.Tk()
root.geometry("612x417")
root.title("Exchange Rates")
root.resizable(0,0)
root.configure(background='lightgrey')
#End

#Try to create a listbox with a scroll bar within a frame

#Create elements
frame = tk.Frame(root, bd=1, relief='sunken', width=150, height=300)
scrollbar = tk.Scrollbar(frame)
listbox = tk.Listbox(frame)

#Attach listbox to scrollbar
listbox.config(yscrollcommand=scrollbar.set)
scrollbar.config(command=listbox.yview)

#Poulate listbox
for i in range(100):
   listbox.insert('end', i)

#Pack elements
frame.pack(side='top')
scrollbar.pack(side='right', fill='y')
listbox.pack()

root.mainloop()

Pero me cuesta....

Imprimir

  Ayuda con grafico
Enviado por: Zeto - 19-05-2019, 09:29 PM - Foro: Visualización y análisis de datos - Sin respuestas

Hola, hice un programa que grafica utilizando archivos de texto externos, pero nececito que el valor de los ejes esten en escala exponencial ( 10e-1, 10e1, 10e2, 10e3), intente hacer algunas cosas pero no me resulto Sad  , les agradeceria mucho cualquier tipo de ayuda,  adjunto el codigo y una visualizacion del grafico tal cual esta actualmente. 

PD: el archivo final debe graficar desde valores de 10e-4 hasta 10e7, la imagen adjunta solo contempla una zona muy pequeña del grafico total.

Saludos.



Archivos adjuntos Miniatura(s)
   

.zip   cd_plot.zip (Tamaño: 1,49 KB / Descargas: 2)
Imprimir