2014-01-22 43 views
0

我是一個初學者使用Python 3.3我認爲。 我想編寫一個簡單的程序,會問他們要搜索如電影什麼的用戶或誰是主演的電影(和所有的電影細節上來了。)獲取'unicodeescape'編解碼器錯誤

我寫了這個代碼:

def displayuserinfo(): 

from collections import namedtuple 

import csv 

global file 

file=namedtuple('file', 'movie, starring, comments, year') 

global records 

records=[""]*300 

global addressbook 

addressbook= open(r"C:\Users\Desktop\filmscsv.csv", "r") 

global counter 

counter=0 

    for line in addressbook: 

records[coounter] = file._make(line) 

records = records + 1 

def movie(): 

global movie 

global moviecounter 

found= False 

movie= input("Enter the movie:") 

movie= movie.lower() 

moviecounter=0 

def movie_validation(): 

moviecounter=0 

for i in range(counter): 

if records[i].movie[:]== movie: 

print(records[i].movie) 

moviecounter += 1 


def starring(): 

global starring 

global starringcounter 

found= False 

starring= input("Enter who's starring:") 

starring= starring.lower() 

starringcounter=0 

def starring_validation(): 

starringcounter=0 

for i in range(counter): 

if records[i].starring[:]== starring: 

print(records[i].starring) 

starringcounter += 1 

#main 
global choice 

choice= str(input("What do you wish to do: 1. 2. 3.:")) 

found= False 

while found is not True: 

if choice== "0": 
     print("Goodbye!") 

    elif choice == "1": 
     displayuserinfo() 
     movie() 
     movie_validation() 
     found= True 

    elif choice== "2": 
     displayuserinfo() 
     starring() 
     starring_validation() 
     found = True 
    else: 
     print("Incorrect choice!") 
     choice= input("What do you wish to do?:") 

我每次運行出現這個錯誤代碼: 語法錯誤:(Unicode的錯誤)「unicodeescape」編解碼器不能解碼位置2-3字節:截斷\ UXXXXXXXX逃脫

我一直在努力現在制定這個計劃很長一段時間了。我還需要多年的努力,但這是一個不同的故事。 我只是想讓它工作,我知道該文件是正確的,但我不知道問題出在哪裏。也許是因爲我沒有程序員的頭腦。 任何人都可以請建議如何使這項工作? 欣賞任何有用的評論。 對不起,關於代碼不作爲代碼呈現,但我是新來的網站,並沒有想出如何做到這一點呢。

回答

0

這是因爲您已經使用了\ s,這是Python中的轉義字符。試試:

addressbook= open("C:/Users/Desktop/filmscsv.csv", "r") 

改爲。

+0

(\ U是unicode轉義鍵) – TheDarkTurtle

相關問題