|
23
|
Programación / Scripting / Re: Bases de datos utilizando archivo .txt en Python.
|
en: 14 Noviembre 2022, 21:03 pm
|
Hola Dani, gracias por el código, está muy bueno, pero no necesito crear 2 archivos.- A continuación muestro mi código y verás que lo hago a partir de una lista, natural (tal cual está en el archivo) y luego ordenada y me lleve una sorpresa, sin ordenar es lo mismo que ordenada.- import time import codecs lista = [] with codecs.open('registro.txt', 'r', encoding='utf-8') as archivo: for tmp_linea in archivo: tmp_linea.replace("\r,\n"," ") linea = tmp_linea.split(',') lista.append(linea) lista = sorted(lista, key=lambda x: int(x[0])) # Ordenar la lista inicio = time.time() for lis in lista: if int(lis[0]) == 100000: # Si la lista esta al natural, el 100000 se reemplaza break # con un 10 fin = time.time() print(fin-inicio) ## Lista sin ordenar = 0.014191389083862305 ## Lista ordenada = 0.015621662139892578
Al fin esta última es la manera más rápida... import time import codecs inicio = time.time() with codecs.open('registro.txt', 'r', encoding='utf-8') as archivo: for tmp_linea in archivo: tmp_linea.replace("\r,\n"," ") linea = tmp_linea.split(',') if linea[0] == '10': break fin = time.time() print(fin-inicio) ''' Con la lista sin ordenar = 0.2968323230743408 Con la lista ordenada = 0.3124265670776367 Sacado directo del archivo = 0.26558613777160645 '''
Continuo con el resto.- Slds. Daniel ☕☕☕
|
|
|
24
|
Programación / Scripting / Re: Bases de datos utilizando archivo .txt en Python.
|
en: 14 Noviembre 2022, 18:24 pm
|
Bueno, al fin la búsqueda/práctica dio sus frutos. Con esta línea creo un archivo con 100.001 registros en forma descendente: otra=[f"{x}, Yo vivo en este mundo pero no pertenezco a las leyes de este mundo" for x in range(100_001,0,-1)]
100001, Yo vivo en este mundo pero no pertenezco a las leyes de este mundo 100000, Yo vivo en este mundo pero no pertenezco a las leyes de este mundo 99999, Yo vivo en este mundo pero no pertenezco a las leyes de este mundo 99998, Yo vivo en este mundo pero no pertenezco a las leyes de este mundo [...] 1, Yo vivo en este mundo pero no pertenezco a las leyes de este mundo
Con esta lo ordeno en forma ascendente: lista = sorted(tmpLista, key=lambda x: int(x[0]))
Me falta tan solo medir los tiempos de búsqueda con la lista ordenada y sin ordenar, y otras 2 cosas que luego les comento… Slds. Daniel ☕☕☕
|
|
|
25
|
Programación / Scripting / Re: Bases de datos utilizando archivo .txt en Python.
|
en: 14 Noviembre 2022, 15:42 pm
|
Hola rey, ¿cómo estás?, gracias por tu tiempo y el código, te cuento, estoy como al principio, lo que necesito es tener el archivo «desordenado» y medir el tiempo de búsqueda de un registro por el código y luego la misma lista, pero ordenada y medir nuevamente el tiempo que tarda el programa en encontrar el mismo registro.- Estuve practicando con esto, pero claro, el orden no lo hace como lo deseado: 6,Yo vivo en este mundo, pero no pertenezco a las leyes de este mundo. 5,Yo vivo en este mundo, pero no pertenezco a las leyes de este mundo. 4,Yo vivo en este mundo, pero no pertenezco a las leyes de este mundo. 3,Yo vivo en este mundo, pero no pertenezco a las leyes de este mundo. 2,Yo vivo en este mundo, pero no pertenezco a las leyes de este mundo. [...] 1,Yo vivo en este mundo, pero no pertenezco a las leyes de este mundo. Yo inocentemente esperaba esto: 1,Yo vivo en este mundo, pero no pertenezco a las leyes de este mundo. 2,Yo vivo en este mundo, pero no pertenezco a las leyes de este mundo. 3,Yo vivo en este mundo, pero no pertenezco a las leyes de este mundo. 4,Yo vivo en este mundo, pero no pertenezco a las leyes de este mundo. 5,Yo vivo en este mundo, pero no pertenezco a las leyes de este mundo. [...] 100000,Yo vivo en este mundo, pero no pertenezco a las leyes de este mundo. Pero como es lógico apareció algo distinto, es obvio que toma los números como string y no como enteros: Voy a seguir practicando, estoy muy entusiasmado, cuando termine con esto me faltan 2 cosas muy necesarias que luego se las comento.- Slds. Daniel ☕☕☕
|
|
|
26
|
Programación / Scripting / Re: Bases de datos utilizando archivo .txt en Python.
|
en: 13 Noviembre 2022, 22:05 pm
|
Hola tocayo, debo deducir que me adivinaste el pensamiento casi me respondes antes que diera de alta el post, jajajaja gracias, gracias.- Que me sugerís para crear el archivo, ¿un bucle repitiendo todas las líneas/registros y ponerle un código en aumento? Ej.: 1,Yo vivo en este mundo, pero no pertenezco a las leyes de este mundo. 2,Yo vivo en este mundo, pero no pertenezco a las leyes de este mundo. 3,Yo vivo en este mundo, pero no pertenezco a las leyes de este mundo. 4,Yo vivo en este mundo, pero no pertenezco a las leyes de este mundo. 5,Yo vivo en este mundo, pero no pertenezco a las leyes de este mundo. [...] 110000,Yo vivo en este mundo, pero no pertenezco a las leyes de este mundo. import time inicio = time.time() lista = [] for x in range(1,1000000): final = f"{x}, Yo vivo en este mundo pero no pertenezco a las leyes de este mundo" lista.append(final) fin = time.time() print(fin-inicio) # 0.2197284698486328
Slds. Daniel ☕☕☕
|
|
|
27
|
Programación / Scripting / Bases de datos utilizando archivo .txt en Python.
|
en: 13 Noviembre 2022, 21:29 pm
|
Estoy tratando de realizar mi gran sueño que es crear mis propias BD y para ello necesito alguna ayudita(descarto que alguien me diga «para que reinventar la rueda» gente sueños son sueños).- La ayuda es ¿de dónde puedo bajar un archivo con más de 100.000 registros y un ancho de por lo menos unas 40 caracteres, cada uno? Para hacerme enter mejor, lo que quiero medir (en tiempo) cuanto tarda en mostrar un registro(por ej. el 100.000) ordenado y cuanto tarda sin ordenar (esto desde una lista, por supuesto).- Bueno es todo y desde ya muchas gracias por el tiempo que le dediquen.-
Slds. Daniel ☕☕☕
|
|
|
28
|
Programación / Scripting / wait windows para tkinter...
|
en: 27 Octubre 2022, 02:05 am
|
Hola gente, ¿cómo están? Bueno ahora hago un cambio de rol, vengo a traerles un aporte, lo que ocurre es que estuve estudiando bastante(hace ya mucho tiempo) VFP y en ese lenguaje se utilizaba muchísimo, pero muchísimo una wait windows y en python por más que busco no encuentro nada parecido.- Lo dejo a vuestra consideración y cualquier aporte o crítica será bien venida.- import tkinter as tk from tkinter import ttk from functools import partial def cerrar(*waitVentana): waitVentana[0].destroy() def posicionarVentana(root): ventanaRaiz = root.geometry() ventanaRaiz = ventanaRaiz.replace('x', ',') ventanaRaiz = ventanaRaiz.replace('+', ',') dimPos = ventanaRaiz.split(',') xInicio = int(dimPos[0]) + int(dimPos[2]) yAlto = int(dimPos[3]) -50 return xInicio, yAlto def ventanaMensaje(texto, root): posicion = posicionarVentana(root) mensaje = texto waitVentana = tk.Toplevel(root) waitVentana.geometry('+%d+%d' % (posicion[0], posicion[1])) waitVentana.overrideredirect(1) waitVentana.grab_set() waitVentana.focus_set() waitVentana.bind('<Escape>', partial(cerrar, waitVentana)) frame = ttk.Frame(waitVentana) frame.pack() label = tk.Label(frame, text=mensaje, font=("vardana", 14), borderwidth=6, relief="ridge") label.pack() waitVentana.after(5000, waitVentana.destroy) frame.after(5000, frame.destroy)
def ventanaMensaje(texto, root):
Esta es la función principal y hay que pasarle el texto a mostrar y el nombre de la ventana que la invoca para darle una posición relativa.- Slds. Daniel ☕☕☕
|
|
|
29
|
Programación / Scripting / Re: Que todos los entry dentro de un frame sean readonly en tkinter.
|
en: 22 Octubre 2022, 15:41 pm
|
Hola rey, ¿cómo estás?.- En cuanto a tus recomendaciones (que agradezco muchísimo), la uno la estoy intentando, pero lo que ocurre (y en esto va involucrada la segunda) es que necesitaba hacer un programa(para mí) donde voy a llevar la estadística del aumento de precios de 20 productos y 5 servicios y como supondrás no puedo esperar a tener conocimiento de pyqt5 para hacerlo.- Ahora me creas dudas, yo tengo instalado pyqt6 y te leo diciendo que no hay demasiados ejemplos, luego de terminar el programa actual veré como sigo.-
Slds. Daniel ☕☕☕
|
|
|
30
|
Programación / Scripting / Re: Que todos los entry dentro de un frame sean readonly en tkinter.
|
en: 21 Octubre 2022, 20:54 pm
|
Que paso rey, tanto esperar tu código que nunca apareció jajajajaja.- Te respondo, tenés que considerar que hay cosas que vos das por sentadas por tus vastos conocimientos, yo recién me inicio y hay cosas que ni utilizando el criterio aplicado al lenguaje me cae la ficha,- En cuanto al código que encontré en otro foro era un for y tenía más líneas que si tratara los entry uno a uno.-
Slds. Daniel ☕☕☕
|
|
|
|
|
|
|