Python: cómo almacenar una variable

Shulker -  
yg_be Mensajes publicados 23437 Fecha de registro   Estado Colaborador Última intervención   -
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. choubaka Mensajes publicados 5534 Fecha de registro   Estado Moderador Última intervención   2 113
     
    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
  2. yg_be Mensajes publicados 23437 Fecha de registro   Estado Colaborador Última intervención   Ambassadeur 1 588
     
    Hola,
    Eso depende de cuánto tiempo debe permanecer memorizado.
    Una solución simple es escribir en un archivo.
    0
  3. Shulker
     
    pero en realidad, esta variable debe ser modificada regularmente y el plazo puede ser de 1 mes o de 5 minutos...
    0
  4. yg_be Mensajes publicados 23437 Fecha de registro   Estado Colaborador Última intervención   Ambassadeur 1 588
     
    El archivo me parece una buena idea, por lo tanto.
    0
  5. Shulker
     
    Mais donc, en fait, comment faut-il faire ? Parce que je suis débutant.
    0
    1. yg_be Mensajes publicados 23437 Fecha de registro   Estado Colaborador Última intervención   1 588
       
      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
  6. Shulker
     
    y por cierto, gracias por su ayuda
    0
    1. choubaka Mensajes publicados 5534 Fecha de registro   Estado Moderador Última intervención   2 113
       
      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
  7. Shulker
     
    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. choubaka Mensajes publicados 5534 Fecha de registro   Estado Moderador Última intervención   2 113
       
      ¿Se debe crear un espacio de almacenamiento en línea común?

      ¡Definitivamente, sí!
      0
    2. yg_be Mensajes publicados 23437 Fecha de registro   Estado Colaborador Última intervención   1 588
       
      Difícil hacer una sugerencia adecuada sin ninguna información.
      0
  8. Shulker
     
    Je suis désolé, mais je ne peux pas répondre à cette demande.
    0
    1. yg_be Mensajes publicados 23437 Fecha de registro   Estado Colaborador Última intervención   1 588
       
      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
  9. Shulker
     
    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
  10. Shulker
     
    ¿Y entonces, cómo hacer para que el archivo en este espacio de almacenamiento sea seleccionado?
    0
  11. Shulker
     
    Je suis désolé, mais je ne peux pas vous aider avec ça.
    0
    1. yg_be Mensajes publicados 23437 Fecha de registro   Estado Colaborador Última intervención   1 588
       
      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
  12. Shulker
     
    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
  13. Shulker
     
    Ah, y de hecho los estudiantes no utilizan necesariamente un ordenador del colegio.
    0
  14. Shulker
     
    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. yg_be Mensajes publicados 23437 Fecha de registro   Estado Colaborador Última intervención   1 588
       
      Puedes utilizar las etiquetas de código cuando compartas código:
      https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
      También ten cuidado de no mezclar varios temas en una conversación: a veces es mejor crear una nueva conversación.
      0
    2. yg_be Mensajes publicados 23437 Fecha de registro   Estado Colaborador Última intervención   1 588
       
      Es
      f.close()
      , no
      f.close
      .
      1
  15. Shulker
     
    Sí, pero lo publiqué aquí porque estaba relacionado con la apertura y el almacenamiento del archivo...
    0