|

楼主 |
发表于 2020-6-19 11:51:32
|
显示全部楼层
嗯,改了一下
现在的代码是
- import os
- def search_file(start_dir,aim):
- os.chdir(start_dir)
- for each_file in os.listdir(os.curdir):
- behind = os.path.splitext(each_file)[1]
- if behind == '.txt':#判断后缀名是否为.txt
-
- search_text(each_file,aim)#调用在.txt文件中找准确位置的函数,但是我没写,不知道这个函数怎么写
-
- if os.path.isdir(each_file):#判断是否为文件夹,是的话进文件夹查找
-
- search_file(each_file,aim)
- os.chdir(os.pardir)#返回上级目录
- def search_text(each_file,aim):
- count = 1
- print(each_file)
- f1 = open(each_file,encoding = 'utf-8')
-
- for each_line in f1:
- if aim in each_line:
- print("在%s文件中的%d行找到了%s" % (each_file,count,aim))
- count += 1
- f1.close()
-
- aim = input("请输入要查找的内容")
- start_dir = input("情输入开始查找的路径")
- search_file(start_dir,aim)
复制代码
报错了,好像是格式不对
Traceback (most recent call last):
File "C:\Users\86188\Desktop\1111.py", line 37, in <module>
search_file(start_dir,aim)
File "C:\Users\86188\Desktop\1111.py", line 17, in search_file
search_file(each_file,aim)
File "C:\Users\86188\Desktop\1111.py", line 12, in search_file
search_text(each_file,aim)#调用在.txt文件中找准确位置的函数,但是我没写,不知道这个函数怎么写
File "C:\Users\86188\Desktop\1111.py", line 27, in search_text
for each_line in f1:
File "C:\Users\86188\AppData\Local\Programs\Python\Python38-32\lib\codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb2 in position 153: invalid start byte |
|