我认为我是初学者使用python 3.3。 我正在尝试编写一个简单的程序,该程序将询问用户他们想要搜索的内容,例如电影或谁是电影中的主演(并且所有电影细节都会出现。)
我写了这段代码:
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?:")
每次运行代码时都会出现此错误: SyntaxError :( unicode错误)'unicodeescape'编解码器无法解码位置2-3中的字节:截断\ UXXXXXXXX转义
我一直在努力研究这个程序很长一段时间。我必须用多年来做,但这是一个不同的故事。 我只是想让它工作,我知道文件是正确的,但我只是看不出问题出在哪里。也许是因为我没有程序员的头脑。 任何人都可以建议如何使这项工作? 感谢任何有用的评论。 P.S很抱歉代码没有作为代码呈现,但我是网站新手,还没有想出怎么做。
答案 0 :(得分:0)
这是因为您使用了\
s,这是Python中的转义字符。尝试:
addressbook= open("C:/Users/Desktop/filmscsv.csv", "r")
代替。