|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
'gbk' codec can't decode byte 0xbf in position 2: illegal multibyte sequence
我在调试的时候,出现了上面这个,该如何解决
代码是第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)
复制代码
|
-
|