Python - Funciona la primera vez

   
Vista:

Funciona la primera vez

Publicado por Julio (4 intervenciones) el 11/04/2017 05:13:28
Hola,

Siguiendo un ejercicio de un libro, el siguiente código funciona correctamente la primera vez, pero al ejecutarlo de nuevo aparece un error de JSON.
Alguna idea sobre lo que pasa? Gracias!

1
2
3
4
5
6
7
8
9
10
11
12
import json
 
filename = 'username.json'
try:
    with open(filename) as f_obj:
        username = json.load(f_obj)
except FileNotFoundError:
    username = input("What is your name? ")
    with open(filename, 'w') as f_obj:
        print("We'll remeber you when you come back, " + username + "!!")
else:
    print("Welcome back, " + username + "!")
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Funciona la primera vez

Publicado por Alejandro (57 intervenciones) el 12/04/2017 00:03:06
Hola, el error que puede te este causando es porque nombraste a tu archivo json.py, osea igual que modulo integrado de python y al querer importarlo lanza este error. Si es asi cambia el nombre del archivo.
Modifique un poco tu codigo porque le faltaban algunas cosas:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import json
 
filename = "username.json"
try:
    with open(filename) as f_obj:
        username = json.loads(f_obj.read())
except FileNotFoundError:
    username = input("What is your name? ")
    with open(filename, "w") as f_obj:
        user = {"username": username}
        json.dump(user, f_obj)
        print("We'll remeber you when you come back, " + username + "!!")
 
else:
    print("Welcome back, " + username["username"] + "!")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
3
Comentar

Funciona la primera vez

Publicado por Julio (4 intervenciones) el 12/04/2017 04:19:41
Gracias Alejandro! Ya está funcionando correctamente!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad