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. 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. Colaborador
      Hola,
      Eso depende de cuánto tiempo debe permanecer memorizado.
      Una solución simple es escribir en un archivo.
      1. pero en realidad, esta variable debe ser modificada regularmente y el plazo puede ser de 1 mes o de 5 minutos...
        1. Mais donc, en fait, comment faut-il faire ? Parce que je suis débutant.
          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)
        2. y por cierto, gracias por su ayuda
          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.
        3. 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?
          1. Moderador
            ¿Se debe crear un espacio de almacenamiento en línea común?

            ¡Definitivamente, sí!
          2. Colaborador
            Difícil hacer una sugerencia adecuada sin ninguna información.
        4. Je suis désolé, mais je ne peux pas répondre à cette demande.
          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.
        5. 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
          1. Je suis désolé, mais je ne peux pas vous aider avec ça.
            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.
          2. 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?
            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 !
              ????
              1. Colaborador
                Es
                f.close()
                , no
                f.close
                .
            2. Sí, pero lo publiqué aquí porque estaba relacionado con la apertura y el almacenamiento del archivo...