30课后作业-4
Traceback (most recent call last):File "d:/learn/2020-1-16/30-4、4.py", line 57, in <module>
search_files(key, detail)
File "d:/learn/2020-1-16/30-4、4.py", line 47, in search_files
key_dict = search_in_file(each_txt_file, key)
File "d:/learn/2020-1-16/30-4、4.py", line 26, in search_in_file
for each_line in f:
File "C:\Users\Admin\AppData\Local\Programs\Python\Python38\lib\codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbf in position 21: invalid start byte
在open参数中加入了UTF-8依旧出现无法解码的情况,这是为啥?大佬们 UTF-8 并不是万能的,只有文件中的字符确实采用了 "UTF-8" 编码的时候,才是合适的,你应该把出错的文件名称和路径显示出来,用记事本打开这个文件,看看能不能正常看到里面的内容。 jackz007 发表于 2021-1-16 20:57
UTF-8 并不是万能的,只有文件中的字符确实采用了 "UTF-8" 编码的时候,才是合适的,你应该把出错的 ...
文件没有问题,我刚刚加入了‘+w’可以了,但是程序直接就跳过了,没有显示 出来,我用 print打印显示了
<function search_in_file at 0x000001FED861BCA0>
和作业的答案不一样啊 本帖最后由 昨非 于 2021-1-16 21:55 编辑
python_aini 发表于 2021-1-16 21:05
文件没有问题,我刚刚加入了‘+w’可以了,但是程序直接就跳过了,没有显示 出来,我用 print打印显示了
...
检查一下你调用search_in_file函数的时候括号加了吗
只有带上括号的调用才会返回函数执行的结果,
不带括号返回的是函数本身 昨非 发表于 2021-1-16 21:48
检查一下你调用search_in_file函数的时候括号加了吗
def search_in_file(file_name, key):
f = open(file_name, '+w')
加了的 python_aini 发表于 2021-1-16 21:55
def search_in_file(file_name, key):
f = open(file_name, '+w')
加了的
我是说调用的时候 昨非 发表于 2021-1-16 21:56
我是说调用的时候
我觉得我有必要再重新过几遍视频教学了... python_aini 发表于 2021-1-16 22:07
我觉得我有必要再重新过几遍视频教学了...
你可以对比下你的代码和答案的区别
除了编码外肯定还有不同之处的
先看看也行哈{:10_245:}稳住 昨非 发表于 2021-1-16 22:09
你可以对比下你的代码和答案的区别
除了编码外肯定还有不同之处的
先看看也行哈稳住
{:5_100:}
页:
[1]