"Python: el códec 'unicodeescape' no puede decodificar bytes...: escape de caracteres \N mal formado" cuando intento escribir una declaración de entrada

Resuelto asked hace 9 años • 1 respuestas
def option3():
    copy("EMPLOYEE.DAT", "EMPLOYEE.DAT.bak")
    oldfile = open("EMPLOYEE.DAT.bak")
    newfile = open("EMPLOYEE.DAT", "w")
    data = oldfile.readlines()
    empdict = {}
    for line in data:
        ID, Name, Number, empType = line.split('|')
        empType = empType.rstrip('\n')
        empdict[ID] = [Name, Number, empType]
    requested_ID = input("Enter the ID you want to modify: ")
    for each_ID in empdict:
        if each_ID == requested_ID:
            print("Requested Employee Data:\n{}\n{}\n{}\n{}".format(each_ID, empdict[each_ID][0], empdict[each_ID][1], empdict[each_ID][2]))
            correct_data = input("Is this the correct employee data [Y\N]: ")
            if correct_data == 'Y':
                pass

Estaba creando un programa para almacenar datos relacionados con los empleados. como un mini proyecto. Sin embargo, cuando intenté ejecutar mi programa (apenas completado_), aparece el mensaje de error Unicode y Python resalta el paréntesis después input. Busqué respuestas en Google, pero parece que el problema común está relacionado con las rutas de los archivos que no estoy tratando aquí. .

Esta es solo una sección del código completo y, si es necesario, editaré esta publicación y la publicaré aquí.

Además, cuando intenté ejecutarlo haciendo doble clic en el archivo, el símbolo del sistema se cierra inmediatamente, pero si lo elimino, correct_data = input("Is this the correct employee data [Y\N]: ")funciona normalmente.

 avatar Sep 08 '15 21:09
Aceptado

O reemplácelo \con /, es decir:

correct_data = input("Is this the correct employee data [Y/N]: ")

o escapar \reemplazándolo con \\, es decir

correct_data = input("Is this the correct employee data [Y\\N]: ")

o use una cadena sin formato:

correct_data = input(r"Is this the correct employee data [Y\N]: ")

Para obtener más detalles, consulte los literales de cadena de la documentación.

justcompile avatar Sep 08 '2015 15:09 justcompile