|  | 
 
| 
'gbk' codec can't decode byte 0xbf in position 2: illegal multibyte sequence
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  我在调试的时候,出现了上面这个,该如何解决
 
 
 代码是第30讲的课后题第4题,找关键字的具体位置(暂时第几个字符还没弄出来= =请无视,弄到第几行就出错了)
 
 ----------------------------------------------------------------------
 import os
 
 def find(path,keywords,order):
 list1=[]
 
 for root,dirs,files in os.walk(path,True):
 for each in files:
 if '.txt' in each:
 link=os.path.join(root,each)
 list1.append(link)
 
 for i in list1:
 f1=open(i)
 count=0
 f2=f1.readline()
 if keywords in f2:
 print('在文件【%s】中找到关键字【%s】' % (i,keywords))
 for eachline in f1:
 count+=1
 if keywords in eachline:
 if order=='YES':
 print('关键词出现在第%d行' % count)
 
 
 
 path=input('请输入路径:')
 keywords=input('请将该代码放于待查找的文件夹内,请输入关键字:')
 order=input('请问是否需要打印关键字【%s】在文件中的具体位置(YES/NO):' % keywords)
 find(path,keywords,order)
 
 ----------------------------------------------------------------------------------------
 
 
 
 
复制代码import os
def find(path,keywords,order):
    list1=[]
    for root,dirs,files in os.walk(path,True):
        for each in files:
            if '.txt' in each:
                link=os.path.join(root,each)
                list1.append(link)
    for i in list1:
        f1=open(i, encoding='utf-8')#如果不行就把utf-8改成gbk
        count=0
        f2=f1.readline()
        if keywords in f2:
            print('在文件【%s】中找到关键字【%s】' % (i,keywords))      
            for eachline in f1:
                count+=1
                if keywords in eachline:
                    if order=='YES':
                        print('关键词出现在第%d行' % count)
                
        
            
path=input('请输入路径:')
keywords=input('请将该代码放于待查找的文件夹内,请输入关键字:')
order=input('请问是否需要打印关键字【%s】在文件中的具体位置(YES/NO):' % keywords)
find(path,keywords,order)
 | 
 
  |