Reputation:
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
I was creating a program to store employee-related data. as a mini project. However as I tried to run my (barely-completed program_ I get the unicode error message and Python highlights the parenthesis after input
. I've googled for answers but it seems like the common issue is related to file paths which I am not dealing with here.
This is just a section of the entire code and if needed I will edit this post and post it here.
Also when I tried to run it by double clicking the file the command prompt just shuts down immediately, but if I remove correct_data = input("Is this the correct employee data [Y\N]: ")
then it works normally.
Upvotes: 14
Views: 47703
Reputation: 3542
Either replace \
with /
, i.e.:
correct_data = input("Is this the correct employee data [Y/N]: ")
or escape \
by replacing it with \\
, i.e.
correct_data = input("Is this the correct employee data [Y\\N]: ")
or use a raw string:
correct_data = input(r"Is this the correct employee data [Y\N]: ")
For more details see string literals from the documentation.
Upvotes: 24