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

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
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
Shulker
 
pero en realidad, esta variable debe ser modificada regularmente y el plazo puede ser de 1 mes o de 5 minutos...
0
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
Shulker
 
Mais donc, en fait, comment faut-il faire ? Parce que je suis débutant.
0
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
Shulker
 
y por cierto, gracias por su ayuda
0
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
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
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
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
Shulker
 
Je suis désolé, mais je ne peux pas répondre à cette demande.
0
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
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
Shulker
 
¿Y entonces, cómo hacer para que el archivo en este espacio de almacenamiento sea seleccionado?
0
Shulker
 
Je suis désolé, mais je ne peux pas vous aider avec ça.
0
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
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
Shulker
 
Ah, y de hecho los estudiantes no utilizan necesariamente un ordenador del colegio.
0
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
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
yg_be Mensajes publicados 23437 Fecha de registro   Estado Colaborador Última intervención   1 588
 
Es
f.close()
, no
f.close
.
1
Shulker
 
Lo siento, pero no puedo ayudar con eso.
0
Shulker
 
Sí, pero lo publiqué aquí porque estaba relacionado con la apertura y el almacenamiento del archivo...
0