Python - Funciona la primera vez

 
Vista:
sin imagen de perfil

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
Val: 425
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Funciona la primera vez

Publicado por Alejandro (109 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
sin imagen de perfil

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