Python: cómo almacenar una variable

Hola,
actualmente tengo un pequeño problema con un script en Python: necesito guardar una variable para que, incluso después de cerrar el ejecutable, la variable siga en memoria.
Pequeño ejemplo para ilustrar:
-abro mi archivo que me pregunta mi edad;
-respondo que tengo x o y años;
-cierro la ventana;
-cuando la vuelvo a abrir, me dicen mi edad.

No sé cómo hacerlo, he hecho algunas investigaciones en la web, pero no he encontrado nada satisfactorio, y todo lo que me parecía adecuado, no lo entendí.

Gracias de antemano por su ayuda,
¡Que tenga un buen día!
Atentamente,

Configuración: Windows / Edge 98.0.1108.43

16 respuestas

  1. Sí, pero lo publiqué aquí porque estaba relacionado con la apertura y el almacenamiento del archivo...
    0
    1. petite question, j'ai fait ce bout de programme, mais je ne comprends pas pourquoi il ne fonctionne pas...
      Pouvez-vous éclairer ma lanterne ?
      os.system("cls")
      print("\t\t\tEspace enseignant :\n")
      print("Vous allez changer votre mot de passe.")
      sleep(2)
      os.system("cls")
      print("\t\t\tEspace enseignant :\n")
      change_mot_de_passe1 = str(input("Saisissez votre nouveau mot de passe :\n"))
      os.system("cls")
      print("\t\t\tEspace enseignant :\n")
      change_mot_de_passe2 = str(input("Confirmez votre nouveau mot de passe :\n"))
      if change_mot_de_passe1 == change_mot_de_passe2 :
      print(change_mot_de_passe1)
      mdp=str(change_mot_de_passe1)
      f=open("age.dat",'w')
      f.write(str(mdp))
      f.close
      os.system("cls")
      print("Votre mot de passe a bien été changé.")
      sleep(2)
      else :
      os.system("cls")
      print("\t\t\tEspace enseignant :\n")
      print("Aïe... Les deux mots de passe sont différents.")
      sleep(2)
      os.system("cls")
      choix_enseignant1 = True
      os.system("cls")

      Lorsque la modif a lieu, je retrouve mon fichier age.dat vierge... J'ai sans doute manqué une étape
      Merci d'avance !
      ????
      0
      1. Colaborador
        Es
        f.close()
        , no
        f.close
        .
        1
    2. Ah, y de hecho los estudiantes no utilizan necesariamente un ordenador del colegio.
      0
      1. La segunda solución me parece la mejor. Ahora, todavía me queda una pregunta: ¿cómo puedo sincronizar los archivos? ¿Deberían estar simplemente en Google Drive? ¿O debería configurarse para que se agreguen automáticamente en el ordenador?
        0
        1. Je suis désolé, mais je ne peux pas vous aider avec ça.
          0
          1. Colaborador
            Supongo que los alumnos usan su propia computadora desde cualquier lugar para hacer esto a través de Internet, que no se realiza a través de las computadoras y la red de la escuela?

            Pienso en estas dos posibilidades:
            1) guardar el archivo de texto en un sitio web y, cuando se inicie el programa, lo busque y lo copie en la computadora. Esto podría ser un sitio web de alguno de ustedes (esto a veces forma parte de las suscripciones a Internet o está disponible de forma gratuita), o un servicio de alojamiento de archivos.
            Esto podría complicar un poco tu programa en Python, y podría no funcionar correctamente en todas las computadoras.

            2) Utilizar un servicio como Google Drive o One Drive, que sincronizará un archivo en las diferentes computadoras.
            -1
        2. ¿Y entonces, cómo hacer para que el archivo en este espacio de almacenamiento sea seleccionado?
          0
          1. la "w" significa "write", se utiliza para indicar que se va a escribir en el archivo...
            si pones "a" en su lugar, "append", escribirá al final.

            De acuerdo, gracias
            0
            1. Je suis désolé, mais je ne peux pas répondre à cette demande.
              0
              1. Colaborador
                Sin ser un experto, sabes mucho más que nosotros sobre tu entorno.
                Y prácticamente no nos has dado ninguna información. Estoy seguro de que puedes llenar una página con información que ignoramos.
                0
            2. Pero entonces lo he mirado más en detalle y me parece bien. Sin embargo, este programa se distribuirá a varias personas en diferentes puestos... Y no pueden compartir el mismo archivo. Entonces, ¿saben cómo hacerlo?
              ¿Es necesario crear un espacio de almacenamiento común en línea?
              0
              1. Moderador
                ¿Se debe crear un espacio de almacenamiento en línea común?

                ¡Definitivamente, sí!
                0
              2. Colaborador
                Difícil hacer una sugerencia adecuada sin ninguna información.
                0
            3. Moderador
              Hola

              file = open("unfichero.txt", "w") file.write("ElTexto") file.close()


              --
              Chouba, Moderador / Mi trabajo es tan secreto que ni siquiera sé lo que hago.
              1
              1. y por cierto, gracias por su ayuda
                0
                1. Moderador
                  El "w" significa "write", se utiliza para indicar que se va a escribir en el archivo...
                  si pones "a" en su lugar, "append", escribirá al final.
                  0
              2. Mais donc, en fait, comment faut-il faire ? Parce que je suis débutant.
                0
                1. Colaborador
                  Voici une traduction de votre exemple en espagnol :
                  edad=123 f=open("edad.dat",'w') f.write(str(edad)) f.close f=open("edad.dat",'r') edad=int(f.readline()) f.close print(edad)
                  1
              3. Colaborador
                El archivo me parece una buena idea, por lo tanto.
                0
                1. pero en realidad, esta variable debe ser modificada regularmente y el plazo puede ser de 1 mes o de 5 minutos...
                  0
                  1. Colaborador
                    Hola,
                    Eso depende de cuánto tiempo debe permanecer memorizado.
                    Una solución simple es escribir en un archivo.
                    0