Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

249
Vistas
Guardar el progreso de un script de Python mediante el reinicio

Me gustaría comenzar diciendo que soy muy nuevo en Python y comencé este proyecto por diversión.

Específicamente, es simplemente un programa que te envía cumplidos como notificaciones periódicamente a lo largo del día. Esto no es para la escuela, y en realidad solo estaba tratando de hacerlo para mi novia mientras me presentaba a Python.

Con eso en mente, aquí está mi problema. Comencé este proyecto escribiendo la versión más simple: una que debe iniciar cada vez que se carga la computadora y se ejecuta mientras la usa activamente. Esta porción funciona perfectamente; sin embargo, parece que no puedo descifrar cómo hacer el siguiente paso: hacer que el programa continúe normalmente después de reiniciar y guardar su progreso.

Sé cómo hacer que se inicie de nuevo después de reiniciar. Aún así, no estoy seguro de cómo guardar su progreso. Particularmente, dado que estoy sacando los cumplidos de un archivo de texto, no estoy seguro de cómo hacer que el programa guarde en qué línea está antes de reiniciar. Esto es necesario porque no quiero que el programa comience desde el primer cumplido cada vez, ya que hay más de 300 únicos a partir de ahora.

Para ayudarlo a comprender dónde se encuentra actualmente mi código en cuanto al mejor consejo, lo muestro a continuación:

 import datetime import time from plyer import notification Compliment = None try: with open('C:/Users/conno/Documents/compliments.txt') as f: lines = f.readlines() except: print("I'm sorry, I can't give you a new compliment today because I can't find the file.") for compliment in lines: notification.notify( title = "Your New Compliment for {}".format(datetime.date.today()), message = compliment, app_icon = "C:/Users/conno/Downloads/Paomedia-Small-N-Flat-Bell.ico", timeout = 10 ) time.sleep(60*30)

Sé que podría tener fácilmente un conteo variable en qué línea está, pero ¿cómo guardo ese valor?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Simplemente puede guardar el conteo (que es el índice de la última línea de cumplido) como un número entero en un archivo pickle, o más fácil en un archivo de texto y leerlo cada vez que su secuencia de comandos se inicia después de reiniciar.

 import datetime import time from plyer import notification Compliment = None compliment_index = 0 try: with open('C:/Users/conno/Documents/compliments.txt') as f: lines = f.readlines() except: print("I'm sorry, I can't give you a new compliment today because I can't find the file.") try: with open('C:/Users/conno/Documents/compliments_counter.txt') as f: compliment_index = int(f.readlines()[0]) except: with open('C:/Users/conno/Documents/compliments_counter.txt', "w") as f: f.write(str(compliment_index)) for index in range(compliment_index, len(lines)): compliment = lines[index] notification.notify( title = "Your New Compliment for {}".format(datetime.date.today()), message = compliment, app_icon = "C:/Users/conno/Downloads/Paomedia-Small-N-Flat-Bell.ico", timeout = 10) with open('C:/Users/conno/Documents/compliments_counter.txt', "w") as f: f.write(str(index)) time.sleep(60*30)
over 4 years ago · Santiago Trujillo Denunciar

0

Bueno, deberías guardar un índice en un archivo o algo así antes de que el programa se apague.

Mira esto: atexit — Controladores de salida

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda