" Python:' unicodeescape'编解码器无法解码字节...:格式错误\ N字符转义"当我试图键入输入语句时

时间:2015-09-08 14:35:22

标签: python

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

我正在创建一个存储员工相关数据的程序。作为一个迷你项目。然而,当我试图运行我的(几乎没有完成的程序_我得到unicode错误消息并且Python在input之后突出显示括号。我已经搜索了答案,但似乎常见问题与文件路径有关我不在这里处理。

这只是整个代码的一部分,如果需要,我会编辑此帖并在此处发布。

当我尝试通过双击文件来运行它时,命令提示符立即关闭,但是如果我删除correct_data = input("Is this the correct employee data [Y\N]: ")则它会正常工作。

2 个答案:

答案 0 :(得分:4)

\替换为/,即:

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

或通过将\替换为\\来逃避correct_data = input("Is this the correct employee data [Y\\N]: ") ,即

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

或使用原始字符串:

Activity

有关详细信息,请参阅文档中的string literals

答案 1 :(得分:0)

我遇到了同样的错误,我重新检查了我的代码,发现在其中一个地方,我使用的是单 \ 而不是双 \ 。刚刚更正,程序运行正常。