鱼C论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: 天下稽首

[已解决]新手/遇到了一个看不懂的异常

[复制链接]
发表于 2020-7-28 09:45:20 | 显示全部楼层
我也有同样的问题,可以确定是编码的问题
  1. f = open(file_name,'r',encoding='iso-8859-1')
复制代码

我这行代码可以支持英文查找,但对中文关键字的查找不返回任何结果(也没有报错)
(我也是萌新,静待大佬解决)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-28 09:46:34 | 显示全部楼层
天下稽首 发表于 2020-7-28 09:41
你是指?报错的那个吗?我也不是很清楚啊,看错误提示能找出来吗?
  1. import os
  2. initial=input('请输入待查找的目录:')
  3. key=input('请输入关键字:')
  4. for(root,dirs,file)in os.walk(initial):
  5.     for each in file:
  6.         count_line=0
  7.         y=1
  8.         z=0
  9.         if os.path.splitext(each)[1]=='.txt':
  10.             file1=open(os.path.join(root,each),'rb')
  11.             lines = file1.read().decode('utf-8')
  12.             for each_line in lines:
  13.                 count_line+=1
  14.                 count_index=[]
  15.                 x=0
  16.                 for i in range(len(each_line)):
  17.                     if each_line[i:i+len(key)]==key:
  18.                         count_index.append(i)
  19.                         x=z=1
  20.                 if x:
  21.                     if y:
  22.                         print('在文件【{0}】中找到关键字【{1}】'.format(os.path.join(root,each),key))
  23.                         y=0
  24.                     print('关键字出现在第{0}行,第{1}个位置。'.format(count_line,count_index))
  25.             if z:
  26.                 print('=================================================')
复制代码

运行这个代码,
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-28 09:50:47 | 显示全部楼层

还是不行呀
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-28 10:00:59 | 显示全部楼层

不懂了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-28 10:18:56 | 显示全部楼层

没关系,无论如何都非常感谢啦~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-28 11:29:48 | 显示全部楼层    本楼为最佳答案   
天下稽首 发表于 2020-7-28 10:18
没关系,无论如何都非常感谢啦~




把你的目录下文本另存为改下编码就好,建议新建个文件夹,把代码和 txt 都重新保存那个文件夹里,然后 txt 通过下面方法保存:

                               
登录/注册后可看大图

这里选择 UTF-8 那么 open 就要带上参数 encoding = 'UTF-8':

                               
登录/注册后可看大图

这里如果选择 ANSI 就不用带上参数 encoding :

                               
登录/注册后可看大图
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-28 18:26:51 | 显示全部楼层
Twilight6 发表于 2020-7-28 11:29
把你的目录下文本另存为改下编码就好,建议新建个文件夹,把代码和 txt 都重新保存那个文件夹里, ...

对 ,把编码改成ANSI不用设置编码正常打开就行了~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-28 13:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表